# TBSCertificateStructure (Bouncy Castle Library 1.45 API Specification)
Date: 2013-08-05

org.bouncycastle.asn1.x509

## Class TBSCertificateStructure

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

All Implemented Interfaces:
  DEREncodable, PKCSObjectIdentifiers, X509ObjectIdentifiers

    public class TBSCertificateStructure
    extends ASN1Encodable
    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 class org.bouncycastle.asn1.ASN1Encodable

`BER, DER`

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

`commonName, countryName, crlAccessMethod, id, id_ad, id_ad_caIssuers, id_ad_ocsp, id_at_name, id_at_telephoneNumber, 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_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_otherSigCert, id_aa_receiptRequest, id_aa_signatureTimeStampToken, id_aa_signerLocation, id_aa_signingCertificate, id_aa_signingCertificateV2, id_aa_sigPolicyId, id_alg_CMS3DESwrap, id_alg_CMSRC2wrap, id_alg_PWRI_KEK, id_ct, id_ct_authData, id_ct_authEnvelopedData, id_ct_compressedData, 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_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, 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, 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
`Time` `getEndDate()`
`X509Extensions` `getExtensions()`
`static TBSCertificateStructure` `getInstance(ASN1TaggedObject obj, boolean explicit)`
`static TBSCertificateStructure` `getInstance(java.lang.Object obj)`
`X509Name` `getIssuer()`
`DERBitString` `getIssuerUniqueId()`
`DERInteger` `getSerialNumber()`
`AlgorithmIdentifier` `getSignature()`
`Time` `getStartDate()`
`X509Name` `getSubject()`
`SubjectPublicKeyInfo` `getSubjectPublicKeyInfo()`
`DERBitString` `getSubjectUniqueId()`
`int` `getVersion()`
`DERInteger` `getVersionNumber()`
`DERObject` `toASN1Object()`

### Methods inherited from class org.bouncycastle.asn1.ASN1Encodable

`equals, getDEREncoded, getDERObject, getEncoded, getEncoded, hashCode`

### 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 DERInteger getVersionNumber()

#### getSerialNumber

    public DERInteger getSerialNumber()

#### getSignature

    public AlgorithmIdentifier getSignature()

#### getIssuer

    public X509Name getIssuer()

#### getStartDate

    public Time getStartDate()

#### getEndDate

    public Time getEndDate()

#### getSubject

    public X509Name getSubject()

#### getSubjectPublicKeyInfo

    public SubjectPublicKeyInfo getSubjectPublicKeyInfo()

#### getIssuerUniqueId

    public DERBitString getIssuerUniqueId()

#### getSubjectUniqueId

    public DERBitString getSubjectUniqueId()

#### getExtensions

    public X509Extensions getExtensions()

#### toASN1Object

    public DERObject toASN1Object()

Specified by:
  `toASN1Object` in class `ASN1Encodable`