Class C509CertificateBuilder
java.lang.Object
org.bouncycastle.cert.c509.C509CertificateBuilder
Builder for natively signed C509 certificates (type 2,
draft-ietf-cose-cbor-encoded-cert-20), mirroring the X.509 v3 certificate builder.
The signature is computed directly over the TBSCertificate CBOR sequence, so no
ASN.1 processing is needed to verify the result.
A CBOR re-encoded certificate (type 3) is not built directly - issue an X.509
certificate in the usual way and convert it with
C509Certificate.fromX509Certificate(org.bouncycastle.asn1.x509.Certificate, C509ConversionOptions).
-
Constructor Summary
ConstructorsConstructorDescriptionC509CertificateBuilder(org.bouncycastle.asn1.x500.X500Name issuer, BigInteger serialNumber, Date notBefore, Date notAfter, org.bouncycastle.asn1.x500.X500Name subject, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo subjectPublicKeyInfo) Base constructor. -
Method Summary
Modifier and TypeMethodDescriptionaddExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier oid, boolean isCritical, byte[] encodedValue) Add a given extension field for the standard extensions tag, with the value already encoded.addExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier oid, boolean isCritical, org.bouncycastle.asn1.ASN1Encodable value) Add a given extension field for the standard extensions tag.build(ContentSigner signer) Generate the certificate, signing the TBSCertificate CBOR sequence with the given signer.setConversionOptions(org.bouncycastle.cbor.c509.C509ConversionOptions options) Set the conversion options - point compression in particular.
-
Constructor Details
-
C509CertificateBuilder
public C509CertificateBuilder(org.bouncycastle.asn1.x500.X500Name issuer, BigInteger serialNumber, Date notBefore, Date notAfter, org.bouncycastle.asn1.x500.X500Name subject, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo subjectPublicKeyInfo) Base constructor.- Parameters:
issuer- the certificate issuer.serialNumber- the certificate serial number.notBefore- the date before which the certificate is not valid.notAfter- the date after which the certificate is not valid, or null for no well-defined expiration date.subject- the certificate subject.subjectPublicKeyInfo- the info structure for the public key to be associated with this certificate.
-
-
Method Details
-
setConversionOptions
public C509CertificateBuilder setConversionOptions(org.bouncycastle.cbor.c509.C509ConversionOptions options) Set the conversion options - point compression in particular. A natively signed certificate stores a compressed Weierstrass key with the SEC 1 octets 0x02/0x03. -
addExtension
public C509CertificateBuilder addExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier oid, boolean isCritical, org.bouncycastle.asn1.ASN1Encodable value) throws CertIOException Add a given extension field for the standard extensions tag.- Throws:
CertIOException
-
addExtension
public C509CertificateBuilder addExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier oid, boolean isCritical, byte[] encodedValue) Add a given extension field for the standard extensions tag, with the value already encoded. -
build
Generate the certificate, signing the TBSCertificate CBOR sequence with the given signer.- Throws:
CertIOException
-