Class X509v2CRLBuilder

  • Direct Known Subclasses:
    JcaX509v2CRLBuilder

    public class X509v2CRLBuilder
    extends java.lang.Object
    class to produce an X.509 Version 2 CRL.
    • Constructor Summary

      Constructors 
      Constructor Description
      X509v2CRLBuilder​(org.bouncycastle.asn1.x500.X500Name issuer, java.util.Date thisUpdate)
      Basic constructor.
      X509v2CRLBuilder​(org.bouncycastle.asn1.x500.X500Name issuer, java.util.Date thisUpdate, java.util.Locale dateLocale)
      Basic constructor with Locale.
      X509v2CRLBuilder​(org.bouncycastle.asn1.x500.X500Name issuer, org.bouncycastle.asn1.x509.Time thisUpdate)
      Basic constructor.
      X509v2CRLBuilder​(X509CRLHolder template)
      Create a builder for a version 2 CRL, initialised with another CRL.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      X509v2CRLBuilder addCRL​(X509CRLHolder other)
      Add the CRLEntry objects contained in a previous CRL.
      X509v2CRLBuilder addCRLEntry​(java.math.BigInteger userCertificateSerial, java.util.Date revocationDate, int reason)
      Add a CRL entry with the just reasonCode extension.
      X509v2CRLBuilder addCRLEntry​(java.math.BigInteger userCertificateSerial, java.util.Date revocationDate, int reason, java.util.Date invalidityDate)
      Add a CRL entry with an invalidityDate extension as well as a reasonCode extension.
      X509v2CRLBuilder addCRLEntry​(java.math.BigInteger userCertificateSerial, java.util.Date revocationDate, org.bouncycastle.asn1.x509.Extensions extensions)
      Add a CRL entry with extensions.
      X509v2CRLBuilder addExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid, boolean isCritical, byte[] encodedValue)
      Add a given extension field for the standard extensions tag (tag 3) using a byte encoding of the extension value.
      X509v2CRLBuilder addExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid, boolean isCritical, org.bouncycastle.asn1.ASN1Encodable value)
      Add a given extension field for the standard extensions tag (tag 3)
      X509v2CRLBuilder addExtension​(org.bouncycastle.asn1.x509.Extension extension)
      Add a given extension field for the standard extensions tag (tag 3).
      X509CRLHolder build​(ContentSigner signer)
      Generate an X.509 CRL, based on the current issuer and subject using the passed in signer.
      org.bouncycastle.asn1.x509.Extension getExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid)
      Return the current value of the extension for OID.
      boolean hasExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid)
      Return if the extension indicated by OID is present.
      X509v2CRLBuilder removeExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid)
      Remove the extension indicated by OID.
      X509v2CRLBuilder replaceExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid, boolean isCritical, byte[] encodedValue)
      Replace a given extension field for the standard extensions tag (tag 3) with the passed in byte encoded extension value.
      X509v2CRLBuilder replaceExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid, boolean isCritical, org.bouncycastle.asn1.ASN1Encodable value)
      Replace the extension field for the passed in extension's extension ID with a new version.
      X509v2CRLBuilder replaceExtension​(org.bouncycastle.asn1.x509.Extension extension)
      Replace the extension field for the passed in extension's extension ID with a new version.
      X509v2CRLBuilder setNextUpdate​(java.util.Date date)
      Set the date by which the next CRL will become available.
      X509v2CRLBuilder setNextUpdate​(java.util.Date date, java.util.Locale dateLocale)
      Set the date by which the next CRL will become available.
      X509v2CRLBuilder setNextUpdate​(org.bouncycastle.asn1.x509.Time date)
      Set the date by which the next CRL will become available.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • X509v2CRLBuilder

        public X509v2CRLBuilder​(org.bouncycastle.asn1.x500.X500Name issuer,
                                java.util.Date thisUpdate)
        Basic constructor.
        Parameters:
        issuer - the issuer this CRL is associated with.
        thisUpdate - the date of this update.
      • X509v2CRLBuilder

        public X509v2CRLBuilder​(org.bouncycastle.asn1.x500.X500Name issuer,
                                java.util.Date thisUpdate,
                                java.util.Locale dateLocale)
        Basic constructor with Locale. You may need to use this constructor if the default locale doesn't use a Gregorian calender so that the Time produced is compatible with other ASN.1 implementations.
        Parameters:
        issuer - the issuer this CRL is associated with.
        thisUpdate - the date of this update.
        dateLocale - locale to be used for date interpretation.
      • X509v2CRLBuilder

        public X509v2CRLBuilder​(org.bouncycastle.asn1.x500.X500Name issuer,
                                org.bouncycastle.asn1.x509.Time thisUpdate)
        Basic constructor.
        Parameters:
        issuer - the issuer this CRL is associated with.
        thisUpdate - the Time of this update.
      • X509v2CRLBuilder

        public X509v2CRLBuilder​(X509CRLHolder template)
        Create a builder for a version 2 CRL, initialised with another CRL.
        Parameters:
        template - template CRL to base the new one on.
    • Method Detail

      • hasExtension

        public boolean hasExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid)
        Return if the extension indicated by OID is present.
        Parameters:
        oid - the OID for the extension of interest.
        Returns:
        the Extension, or null if it is not present.
      • getExtension

        public org.bouncycastle.asn1.x509.Extension getExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid)
        Return the current value of the extension for OID.
        Parameters:
        oid - the OID for the extension we want to fetch.
        Returns:
        true if a matching extension is present, false otherwise.
      • setNextUpdate

        public X509v2CRLBuilder setNextUpdate​(java.util.Date date)
        Set the date by which the next CRL will become available.
        Parameters:
        date - date of next CRL update.
        Returns:
        the current builder.
      • setNextUpdate

        public X509v2CRLBuilder setNextUpdate​(java.util.Date date,
                                              java.util.Locale dateLocale)
        Set the date by which the next CRL will become available.
        Parameters:
        date - date of next CRL update.
        dateLocale - locale to be used for date interpretation.
        Returns:
        the current builder.
      • setNextUpdate

        public X509v2CRLBuilder setNextUpdate​(org.bouncycastle.asn1.x509.Time date)
        Set the date by which the next CRL will become available.
        Parameters:
        date - date of next CRL update.
        Returns:
        the current builder.
      • addCRLEntry

        public X509v2CRLBuilder addCRLEntry​(java.math.BigInteger userCertificateSerial,
                                            java.util.Date revocationDate,
                                            int reason)
        Add a CRL entry with the just reasonCode extension.
        Parameters:
        userCertificateSerial - serial number of revoked certificate.
        revocationDate - date of certificate revocation.
        reason - the reason code, as indicated in CRLReason, i.e CRLReason.keyCompromise, or 0 if not to be used.
        Returns:
        the current builder.
      • addCRLEntry

        public X509v2CRLBuilder addCRLEntry​(java.math.BigInteger userCertificateSerial,
                                            java.util.Date revocationDate,
                                            int reason,
                                            java.util.Date invalidityDate)
        Add a CRL entry with an invalidityDate extension as well as a reasonCode extension. This is used where the date of revocation might be after issues with the certificate may have occurred.
        Parameters:
        userCertificateSerial - serial number of revoked certificate.
        revocationDate - date of certificate revocation.
        reason - the reason code, as indicated in CRLReason, i.e CRLReason.keyCompromise, or 0 if not to be used.
        invalidityDate - the date on which the private key for the certificate became compromised or the certificate otherwise became invalid.
        Returns:
        the current builder.
      • addCRLEntry

        public X509v2CRLBuilder addCRLEntry​(java.math.BigInteger userCertificateSerial,
                                            java.util.Date revocationDate,
                                            org.bouncycastle.asn1.x509.Extensions extensions)
        Add a CRL entry with extensions.
        Parameters:
        userCertificateSerial - serial number of revoked certificate.
        revocationDate - date of certificate revocation.
        extensions - extension set to be associated with this CRLEntry.
        Returns:
        the current builder.
      • addCRL

        public X509v2CRLBuilder addCRL​(X509CRLHolder other)
        Add the CRLEntry objects contained in a previous CRL.
        Parameters:
        other - the X509CRLHolder to source the other entries from.
        Returns:
        the current builder.
      • addExtension

        public X509v2CRLBuilder 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 (tag 3)
        Parameters:
        oid - the OID defining the extension type.
        isCritical - true if the extension is critical, false otherwise.
        value - the ASN.1 structure that forms the extension's value.
        Returns:
        this builder object.
        Throws:
        CertIOException
      • addExtension

        public X509v2CRLBuilder addExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid,
                                             boolean isCritical,
                                             byte[] encodedValue)
                                      throws CertIOException
        Add a given extension field for the standard extensions tag (tag 3) using a byte encoding of the extension value.
        Parameters:
        oid - the OID defining the extension type.
        isCritical - true if the extension is critical, false otherwise.
        encodedValue - a byte array representing the encoding of the extension value.
        Returns:
        this builder object.
        Throws:
        CertIOException
      • addExtension

        public X509v2CRLBuilder addExtension​(org.bouncycastle.asn1.x509.Extension extension)
                                      throws CertIOException
        Add a given extension field for the standard extensions tag (tag 3).
        Parameters:
        extension - the full extension value.
        Returns:
        this builder object.
        Throws:
        CertIOException
      • replaceExtension

        public X509v2CRLBuilder replaceExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid,
                                                 boolean isCritical,
                                                 org.bouncycastle.asn1.ASN1Encodable value)
                                          throws CertIOException
        Replace the extension field for the passed in extension's extension ID with a new version.
        Parameters:
        oid - the OID defining the extension type.
        isCritical - true if the extension is critical, false otherwise.
        value - the ASN.1 structure that forms the extension's value.
        Returns:
        this builder object.
        Throws:
        CertIOException - if there is an issue with the new extension value.
        java.lang.IllegalArgumentException - if the extension to be replaced is not present.
      • replaceExtension

        public X509v2CRLBuilder replaceExtension​(org.bouncycastle.asn1.x509.Extension extension)
                                          throws CertIOException
        Replace the extension field for the passed in extension's extension ID with a new version.
        Parameters:
        extension - the full extension value.
        Returns:
        this builder object.
        Throws:
        CertIOException - if there is an issue with the new extension value.
        java.lang.IllegalArgumentException - if the extension to be replaced is not present.
      • replaceExtension

        public X509v2CRLBuilder replaceExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid,
                                                 boolean isCritical,
                                                 byte[] encodedValue)
                                          throws CertIOException
        Replace a given extension field for the standard extensions tag (tag 3) with the passed in byte encoded extension value.
        Parameters:
        oid - the OID defining the extension type.
        isCritical - true if the extension is critical, false otherwise.
        encodedValue - a byte array representing the encoding of the extension value.
        Returns:
        this builder object.
        Throws:
        CertIOException - if there is an issue with the new extension value.
        java.lang.IllegalArgumentException - if the extension to be replaced is not present.
      • removeExtension

        public X509v2CRLBuilder removeExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier oid)
        Remove the extension indicated by OID.
        Parameters:
        oid - the OID of the extension to be removed.
        Returns:
        this builder object.
        Throws:
        java.lang.IllegalArgumentException - if the extension to be removed is not present.
      • build

        public X509CRLHolder build​(ContentSigner signer)
        Generate an X.509 CRL, based on the current issuer and subject using the passed in signer.
        Parameters:
        signer - the content signer to be used to generate the signature validating the certificate.
        Returns:
        a holder containing the resulting signed certificate.