X509v2CRLBuilder (Bouncy Castle Library 1.52 API Specification)
Date: 2015-03-01

org.bouncycastle.cert

## Class X509v2CRLBuilder

- java.lang.Object
- - org.bouncycastle.cert.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 and 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.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `X509v2CRLBuilder` | `addCRL(X509CRLHolder other)` Add the CRLEntry objects contained in a previous CRL.
    `X509v2CRLBuilder` | `addCRLEntry(java.math.BigInteger userCertificateSerial, java.util.Date revocationDate, org.bouncycastle.asn1.x509.Extensions extensions)` Add a CRL entry with extensions.
    `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.X509Extensions extensions)` Deprecated. use method taking Extensions
    `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.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.
    `X509CRLHolder` | `build(ContentSigner signer)` Generate an X.509 CRL, based on the current issuer and subject using the passed in signer.
    `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.

  - ### Method Detail

    - #### 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.X509Extensions extensions)

      Deprecated. use method taking 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.

    - #### 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`

    - #### 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.