+
+ protected String cookieWithCertificateLogin(User u) throws IOException, GigiApiException {
+
+ try {
+ KeyPair kp;
+ kp = generateKeypair();
+
+ String csr;
+ csr = generatePEMCSR(kp, "CN=" + u.getPreferredName().toString());
+
+ Certificate c = new Certificate(u, u, Certificate.buildDN("CN", u.getPreferredName().toString()), Digest.SHA256, csr, CSRType.CSR, getClientProfile());
+ final PrivateKey pk = kp.getPrivate();
+ await(c.issue(null, "2y", u));
+ final X509Certificate ce = c.cert();
+ c.setLoginEnabled(true);
+ loginCertificate = c;
+ loginPrivateKey = pk;
+ return login(pk, ce);
+ } catch (InterruptedException e) {
+ throw new GigiApiException(e.toString());
+ } catch (GeneralSecurityException e) {
+ throw new GigiApiException(e.toString());
+ }
+
+ }