Search in sources :

Example 1 with TransactionId

use of org.jscep.transaction.TransactionId in project xipki by xipki.

the class CertPollCmd method execute0.

@Override
protected Object execute0() throws Exception {
    PKCS10CertificationRequest csr = new PKCS10CertificationRequest(IoUtil.read(csrFile));
    Client client = getScepClient();
    TransactionId transId = TransactionId.createTransactionId(CertificationRequestUtils.getPublicKey(csr), "SHA-1");
    EnrollmentResponse resp = client.poll(getIdentityCert(), getIdentityKey(), new X500Principal(csr.getSubject().getEncoded()), transId);
    if (resp.isFailure()) {
        throw new CmdFailure("server returned 'failure'");
    }
    if (resp.isPending()) {
        throw new CmdFailure("server returned 'pending'");
    }
    X509Certificate cert = extractEeCerts(resp.getCertStore());
    if (cert == null) {
        throw new Exception("received no certificate");
    }
    saveVerbose("saved polled certificate to file", new File(outputFile), cert.getEncoded());
    return null;
}
Also used : PKCS10CertificationRequest(org.bouncycastle.pkcs.PKCS10CertificationRequest) CmdFailure(org.xipki.console.karaf.CmdFailure) X500Principal(javax.security.auth.x500.X500Principal) EnrollmentResponse(org.jscep.client.EnrollmentResponse) Client(org.jscep.client.Client) File(java.io.File) X509Certificate(java.security.cert.X509Certificate) TransactionId(org.jscep.transaction.TransactionId)

Aggregations

File (java.io.File)1 X509Certificate (java.security.cert.X509Certificate)1 X500Principal (javax.security.auth.x500.X500Principal)1 PKCS10CertificationRequest (org.bouncycastle.pkcs.PKCS10CertificationRequest)1 Client (org.jscep.client.Client)1 EnrollmentResponse (org.jscep.client.EnrollmentResponse)1 TransactionId (org.jscep.transaction.TransactionId)1 CmdFailure (org.xipki.console.karaf.CmdFailure)1