+ try {
+ KeyPair kp = generateKeypair();
+ String 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);
+ cookie = login(pk, ce);
+ loginCertificate = c;
+ loginPrivateKey = pk;
+ } catch (InterruptedException e) {
+ throw new GigiApiException(e.toString());
+ } catch (GeneralSecurityException e) {
+ throw new GigiApiException(e.toString());
+ }