1 package org.cacert.gigi.pages.account;
3 import static org.hamcrest.CoreMatchers.*;
4 import static org.junit.Assert.*;
6 import java.io.IOException;
7 import java.security.GeneralSecurityException;
8 import java.security.KeyPair;
10 import org.cacert.gigi.GigiApiException;
11 import org.cacert.gigi.dbObjects.EmailAddress;
12 import org.cacert.gigi.dbObjects.Group;
13 import org.cacert.gigi.pages.account.certs.CertificateRequest;
14 import org.cacert.gigi.testUtils.ClientTest;
15 import org.cacert.gigi.util.AuthorizationContext;
16 import org.junit.Test;
18 public class TestCertificateRequest extends ClientTest {
20 KeyPair kp = generateKeypair();
22 AuthorizationContext ac;
24 public TestCertificateRequest() throws GeneralSecurityException, IOException {
25 ac = new AuthorizationContext(u, u);
26 makeAssurer(u.getId());
27 grant(email, Group.CODESIGNING);
32 public void testIssuingOtherName() throws Exception {
34 new CertificateRequest(ac, generatePEMCSR(kp, "CN=hansi")).draft();
36 } catch (GigiApiException e) {
37 assertThat(e.getMessage(), containsString("name you entered was invalid"));
42 public void testIssuingDefault() throws Exception {
43 new CertificateRequest(ac, generatePEMCSR(kp, "CN=" + CertificateRequest.DEFAULT_CN + ",EMAIL=" + email)).draft();
47 public void testIssuingRealName() throws Exception {
48 new CertificateRequest(ac, generatePEMCSR(kp, "CN=a b,EMAIL=" + email)).draft();
52 public void testIssuingModifiedName() throws Exception {
54 new CertificateRequest(ac, generatePEMCSR(kp, "CN=a ab")).draft();
56 } catch (GigiApiException e) {
57 assertThat(e.getMessage(), containsString("name you entered was invalid"));
62 // TODO annotate that this depends on default config
64 public void testCodesignModifiedName() throws Exception {
66 CertificateRequest cr = new CertificateRequest(ac, generatePEMCSR(kp, "CN=a ab"));
67 System.out.println("eml");
68 for (EmailAddress e : u.getEmails()) {
69 System.out.println(e.getAddress());
71 cr.update("name", "SHA512", "code-a", null, null, "email:" + email, null, null);
74 } catch (GigiApiException e) {
75 assertThat(e.getMessage(), containsString("does not match the details"));