Search in sources :

Example 26 with JcaX509CertificateConverter

use of org.bouncycastle.cert.jcajce.JcaX509CertificateConverter in project ddf by codice.

the class CertificateAuthority method sign.

public KeyStore.PrivateKeyEntry sign(CertificateSigningRequest csr) {
    //Converters, holders, and builders! Oh my!
    JcaX509v3CertificateBuilder builder = csr.newCertificateBuilder(getCertificate());
    X509CertificateHolder holder = builder.build(getContentSigner());
    JcaX509CertificateConverter converter = newCertConverter();
    X509Certificate signedCert;
    try {
        signedCert = converter.getCertificate(holder);
    } catch (CertificateException e) {
        throw new CertificateGeneratorException("Could not create signed certificate.", e.getCause());
    }
    X509Certificate[] chain = new X509Certificate[2];
    chain[0] = signedCert;
    chain[1] = getCertificate();
    return new KeyStore.PrivateKeyEntry(csr.getSubjectPrivateKey(), chain);
}
Also used : JcaX509CertificateConverter(org.bouncycastle.cert.jcajce.JcaX509CertificateConverter) JcaX509v3CertificateBuilder(org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder) X509CertificateHolder(org.bouncycastle.cert.X509CertificateHolder) CertificateException(java.security.cert.CertificateException) X509Certificate(java.security.cert.X509Certificate)

Aggregations

JcaX509CertificateConverter (org.bouncycastle.cert.jcajce.JcaX509CertificateConverter)26 X509Certificate (java.security.cert.X509Certificate)22 Date (java.util.Date)20 X500Name (org.bouncycastle.asn1.x500.X500Name)20 JcaX509v3CertificateBuilder (org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder)20 X509CertificateHolder (org.bouncycastle.cert.X509CertificateHolder)18 X509v3CertificateBuilder (org.bouncycastle.cert.X509v3CertificateBuilder)18 JcaContentSignerBuilder (org.bouncycastle.operator.jcajce.JcaContentSignerBuilder)17 SecureRandom (java.security.SecureRandom)14 ContentSigner (org.bouncycastle.operator.ContentSigner)14 BigInteger (java.math.BigInteger)11 KeyPair (java.security.KeyPair)10 GeneralName (org.bouncycastle.asn1.x509.GeneralName)9 GeneralNames (org.bouncycastle.asn1.x509.GeneralNames)9 KeyStore (java.security.KeyStore)8 BasicConstraints (org.bouncycastle.asn1.x509.BasicConstraints)7 IOException (java.io.IOException)6 KeyPairGenerator (java.security.KeyPairGenerator)6 PrivateKey (java.security.PrivateKey)6 Test (org.junit.Test)6