Example usage for org.bouncycastle.cert.jcajce JcaX509v3CertificateBuilder setIssuerUniqueID

List of usage examples for org.bouncycastle.cert.jcajce JcaX509v3CertificateBuilder setIssuerUniqueID

Introduction

In this page you can find the example usage for org.bouncycastle.cert.jcajce JcaX509v3CertificateBuilder setIssuerUniqueID.

Prototype

public X509v3CertificateBuilder setIssuerUniqueID(boolean[] uniqueID) 

Source Link

Document

Set the issuerUniqueID - note: it is very rare that it is correct to do this.

Usage

From source file:org.signserver.test.utils.builders.CertBuilder.java

License:Open Source License

/**
 * Builds a certificate based on the specified values and default values 
 * for everything not specified but required.
 * @return a new certificate/*w  w  w  .ja  va2  s. c  om*/
 * @throws CertBuilderException in case anything failed
 */
public X509CertificateHolder build() throws CertBuilderException {
    try {
        if (isVersion3()) {
            JcaX509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(getIssuer(),
                    getSerialNumber(), getNotBefore(), getNotAfter(), getSubject(), getSubjectPublicKey());

            for (CertExt ext : extensions) {
                builder.addExtension(ext.getOid(), ext.isIsCritical(), ext.getValue());
            }
            if (getIssuerUniqueId() != null) {
                builder.setIssuerUniqueID(getIssuerUniqueId());
            }
            if (getSubjectUniqueId() != null) {
                builder.setSubjectUniqueID(getSubjectUniqueId());
            }
            //                builder.setSubjectUniqueID(issuerUniqueId)

            ContentSigner contentSigner = new JcaContentSignerBuilder(getSignatureAlgorithm()).setProvider("BC")
                    .build(getIssuerPrivateKey());
            return builder.build(contentSigner);
        } else {
            JcaX509v1CertificateBuilder builder = new JcaX509v1CertificateBuilder(getIssuer(),
                    getSerialNumber(), getNotBefore(), getNotAfter(), getSubject(), getSubjectPublicKey());
            ContentSigner contentSigner = new JcaContentSignerBuilder(getSignatureAlgorithm()).setProvider("BC")
                    .build(getIssuerPrivateKey());
            return builder.build(contentSigner);
        }
    } catch (OperatorCreationException ex) {
        throw new CertBuilderException(ex);
    } catch (NoSuchAlgorithmException ex) {
        throw new CertBuilderException(ex);
    } catch (NoSuchProviderException ex) {
        throw new CertBuilderException(ex);
    } catch (CertIOException ex) {
        throw new CertBuilderException(ex);
    }
}