V3TBSCertificateGenerator (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.asn1.x509

## Class V3TBSCertificateGenerator

- java.lang.Object
- - org.bouncycastle.asn1.x509.V3TBSCertificateGenerator

-     public class V3TBSCertificateGenerator
      extends java.lang.Object

  Generator for Version 3 TBSCertificateStructures.

       TBSCertificate ::= SEQUENCE {
            version          [ 0 ]  Version DEFAULT v1(0),
            serialNumber            CertificateSerialNumber,
            signature               AlgorithmIdentifier,
            issuer                  Name,
            validity                Validity,
            subject                 Name,
            subjectPublicKeyInfo    SubjectPublicKeyInfo,
            issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
            subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
            extensions        [ 3 ] Extensions OPTIONAL
            }

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `V3TBSCertificateGenerator()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `ASN1Sequence` | `generatePreTBSCertificate()`
    `TBSCertificate` | `generateTBSCertificate()`
    `void` | `setEndDate(ASN1UTCTime endDate)`
    `void` | `setEndDate(Time endDate)`
    `void` | `setExtensions(Extensions extensions)`
    `void` | `setExtensions(X509Extensions extensions)` Deprecated. use method taking Extensions
    `void` | `setIssuer(X500Name issuer)`
    `void` | `setIssuer(X509Name issuer)` Deprecated. use X500Name method
    `void` | `setIssuerUniqueID(DERBitString uniqueID)`
    `void` | `setSerialNumber(ASN1Integer serialNumber)`
    `void` | `setSignature(AlgorithmIdentifier signature)`
    `void` | `setStartDate(ASN1UTCTime startDate)`
    `void` | `setStartDate(Time startDate)`
    `void` | `setSubject(X500Name subject)`
    `void` | `setSubject(X509Name subject)` Deprecated. use X500Name method
    `void` | `setSubjectPublicKeyInfo(SubjectPublicKeyInfo pubKeyInfo)`
    `void` | `setSubjectUniqueID(DERBitString uniqueID)`
    `void` | `setValidity(Validity validity)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### V3TBSCertificateGenerator

          public V3TBSCertificateGenerator()

  - ### Method Detail

    - #### setSerialNumber

          public void setSerialNumber(ASN1Integer serialNumber)

    - #### setSignature

          public void setSignature(AlgorithmIdentifier signature)

    - #### setIssuer

          public void setIssuer(X509Name issuer)

      Deprecated. use X500Name method

    - #### setIssuer

          public void setIssuer(X500Name issuer)

    - #### setValidity

          public void setValidity(Validity validity)

    - #### setStartDate

          public void setStartDate(Time startDate)

    - #### setStartDate

          public void setStartDate(ASN1UTCTime startDate)

    - #### setEndDate

          public void setEndDate(Time endDate)

    - #### setEndDate

          public void setEndDate(ASN1UTCTime endDate)

    - #### setSubject

          public void setSubject(X509Name subject)

      Deprecated. use X500Name method

    - #### setSubject

          public void setSubject(X500Name subject)

    - #### setIssuerUniqueID

          public void setIssuerUniqueID(DERBitString uniqueID)

    - #### setSubjectUniqueID

          public void setSubjectUniqueID(DERBitString uniqueID)

    - #### setSubjectPublicKeyInfo

          public void setSubjectPublicKeyInfo(SubjectPublicKeyInfo pubKeyInfo)

    - #### setExtensions

          public void setExtensions(X509Extensions extensions)

      Deprecated. use method taking Extensions
      Parameters:
        `extensions` -

    - #### setExtensions

          public void setExtensions(Extensions extensions)

    - #### generatePreTBSCertificate

          public ASN1Sequence generatePreTBSCertificate()

    - #### generateTBSCertificate

          public TBSCertificate generateTBSCertificate()