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

org.bouncycastle.asn1.x509

## Class TBSCertificateStructure

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.x509.TBSCertificateStructure

- All Implemented Interfaces:
    ASN1Encodable, PKCSObjectIdentifiers, X509ObjectIdentifiers, Encodable

      public class TBSCertificateStructure
      extends ASN1Object
      implements X509ObjectIdentifiers, PKCSObjectIdentifiers

  The TBSCertificate object.

       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
            }

  Note: issuerUniqueID and subjectUniqueID are both deprecated by the IETF. This class will parse them, but you really shouldn't be creating new ones.

- - ### Field Summary

    - ### Fields inherited from interface org.bouncycastle.asn1.x509.X509ObjectIdentifiers

      `commonName, countryName, crlAccessMethod, id_ad, id_ad_caIssuers, id_ad_ocsp, id_at_name, id_at_telephoneNumber, id_ce, id_ea_rsa, id_pe, id_pkix, id_SHA1, localityName, ocspAccessMethod, organization, organizationalUnitName, ripemd160, ripemd160WithRSAEncryption, stateOrProvinceName`

    - ### Fields inherited from interface org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers

      `bagtypes, canNotDecryptAny, certBag, certTypes, crlBag, crlTypes, data, des_EDE3_CBC, dhKeyAgreement, digestAlgorithm, digestedData, encryptedData, encryptionAlgorithm, envelopedData, id_aa, id_aa_commitmentType, id_aa_contentHint, id_aa_contentIdentifier, id_aa_contentReference, id_aa_encrypKeyPref, id_aa_ets_archiveTimestamp, id_aa_ets_certCRLTimestamp, id_aa_ets_certificateRefs, id_aa_ets_certValues, id_aa_ets_commitmentType, id_aa_ets_contentTimestamp, id_aa_ets_escTimeStamp, id_aa_ets_otherSigCert, id_aa_ets_revocationRefs, id_aa_ets_revocationValues, id_aa_ets_signerAttr, id_aa_ets_signerLocation, id_aa_ets_sigPolicyId, id_aa_msgSigDigest, id_aa_otherSigCert, id_aa_receiptRequest, id_aa_signatureTimeStampToken, id_aa_signerLocation, id_aa_signingCertificate, id_aa_signingCertificateV2, id_aa_sigPolicyId, id_alg, id_alg_CMS3DESwrap, id_alg_CMSRC2wrap, id_alg_PWRI_KEK, id_ct, id_ct_authData, id_ct_authEnvelopedData, id_ct_compressedData, id_ct_timestampedData, id_ct_TSTInfo, id_cti, id_cti_ets_proofOfApproval, id_cti_ets_proofOfCreation, id_cti_ets_proofOfDelivery, id_cti_ets_proofOfOrigin, id_cti_ets_proofOfReceipt, id_cti_ets_proofOfSender, id_hmacWithSHA1, id_hmacWithSHA224, id_hmacWithSHA256, id_hmacWithSHA384, id_hmacWithSHA512, id_mgf1, id_PBES2, id_PBKDF2, id_pSpecified, id_RSAES_OAEP, id_RSASSA_PSS, id_smime, id_spq, id_spq_ets_unotice, id_spq_ets_uri, keyBag, md2, md2WithRSAEncryption, md4, md4WithRSAEncryption, md5, md5WithRSAEncryption, pbeWithMD2AndDES_CBC, pbeWithMD2AndRC2_CBC, pbeWithMD5AndDES_CBC, pbeWithMD5AndRC2_CBC, pbeWithSHA1AndDES_CBC, pbeWithSHA1AndRC2_CBC, pbeWithSHAAnd128BitRC2_CBC, pbeWithSHAAnd128BitRC4, pbeWithSHAAnd2_KeyTripleDES_CBC, pbeWithSHAAnd3_KeyTripleDES_CBC, pbewithSHAAnd40BitRC2_CBC, pbeWithSHAAnd40BitRC2_CBC, pbeWithSHAAnd40BitRC4, pkcs_1, pkcs_12, pkcs_12PbeIds, pkcs_3, pkcs_5, pkcs_7, pkcs_9, pkcs_9_at_challengePassword, pkcs_9_at_contentType, pkcs_9_at_counterSignature, pkcs_9_at_emailAddress, pkcs_9_at_extendedCertificateAttributes, pkcs_9_at_extensionRequest, pkcs_9_at_friendlyName, pkcs_9_at_localKeyId, pkcs_9_at_messageDigest, pkcs_9_at_signingDescription, pkcs_9_at_signingTime, pkcs_9_at_smimeCapabilities, pkcs_9_at_unstructuredAddress, pkcs_9_at_unstructuredName, pkcs8ShroudedKeyBag, preferSignedData, RC2_CBC, rc4, rsaEncryption, safeContentsBag, sdsiCertificate, secretBag, sha1WithRSAEncryption, sha224WithRSAEncryption, sha256WithRSAEncryption, sha384WithRSAEncryption, sha512WithRSAEncryption, signedAndEnvelopedData, signedData, sMIMECapabilitiesVersions, srsaOAEPEncryptionSET, x509Certificate, x509certType, x509Crl`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TBSCertificateStructure(ASN1Sequence seq)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Time` | `getEndDate()`
    `X509Extensions` | `getExtensions()`
    `static TBSCertificateStructure` | `getInstance(ASN1TaggedObject obj, boolean explicit)`
    `static TBSCertificateStructure` | `getInstance(java.lang.Object obj)`
    `X500Name` | `getIssuer()`
    `DERBitString` | `getIssuerUniqueId()`
    `ASN1Integer` | `getSerialNumber()`
    `AlgorithmIdentifier` | `getSignature()`
    `Time` | `getStartDate()`
    `X500Name` | `getSubject()`
    `SubjectPublicKeyInfo` | `getSubjectPublicKeyInfo()`
    `DERBitString` | `getSubjectUniqueId()`
    `int` | `getVersion()`
    `ASN1Integer` | `getVersionNumber()`
    `ASN1Primitive` | `toASN1Primitive()` Method providing a primitive representation of this object suitable for encoding.

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode, toASN1Object`

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

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

- - ### Constructor Detail

    - #### TBSCertificateStructure

          public TBSCertificateStructure(ASN1Sequence seq)

  - ### Method Detail

    - #### getInstance

          public static TBSCertificateStructure getInstance(ASN1TaggedObject obj,
                                            boolean explicit)

    - #### getInstance

          public static TBSCertificateStructure getInstance(java.lang.Object obj)

    - #### getVersion

          public int getVersion()

    - #### getVersionNumber

          public ASN1Integer getVersionNumber()

    - #### getSerialNumber

          public ASN1Integer getSerialNumber()

    - #### getSignature

          public AlgorithmIdentifier getSignature()

    - #### getIssuer

          public X500Name getIssuer()

    - #### getStartDate

          public Time getStartDate()

    - #### getEndDate

          public Time getEndDate()

    - #### getSubject

          public X500Name getSubject()

    - #### getSubjectPublicKeyInfo

          public SubjectPublicKeyInfo getSubjectPublicKeyInfo()

    - #### getIssuerUniqueId

          public DERBitString getIssuerUniqueId()

    - #### getSubjectUniqueId

          public DERBitString getSubjectUniqueId()

    - #### getExtensions

          public X509Extensions getExtensions()

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

      Description copied from class: `ASN1Object`
      Method providing a primitive representation of this object suitable for encoding.
      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        a primitive representation of this object.