Class TBSCertificate

java.lang.Object
org.bouncycastle.asn1.ASN1Object
org.bouncycastle.asn1.x509.TBSCertificate
All Implemented Interfaces:
ASN1Encodable, Encodable

public class TBSCertificate extends ASN1Object
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.

  • Constructor Details

  • Method Details

    • getInstance

      public static TBSCertificate getInstance(ASN1TaggedObject obj, boolean explicit)
    • getInstance

      public static TBSCertificate getInstance(Object obj)
    • reviewStructure

      public static List reviewStructure(ASN1Sequence seq)
      Re-run the parse of a candidate tbsCertificate SEQUENCE collecting every problem the strict getInstance(...) path would have thrown, instead of stopping at the first. The strict path and this share one parse method (see parse(ASN1Sequence, List)); the only difference is the error sink. Intended for diagnostic/reporting tooling (e.g. org.bouncycastle.cert.X509CertificateReviewer, github #1508); it does not relax any rule and does not publish a partially-parsed certificate.
      Parameters:
      seq - the candidate tbsCertificate SEQUENCE.
      Returns:
      the exceptions the strict path would have thrown, one per problem, in parse order (empty if none).
    • getVersionNumber

      public int getVersionNumber()
    • getVersion

      public ASN1Integer getVersion()
    • getSerialNumber

      public ASN1Integer getSerialNumber()
    • getSignature

      public AlgorithmIdentifier getSignature()
    • getIssuer

      public X500Name getIssuer()
    • getValidity

      public Validity getValidity()
    • getStartDate

      public Time getStartDate()
    • getEndDate

      public Time getEndDate()
    • getSubject

      public X500Name getSubject()
    • getSubjectPublicKeyInfo

      public SubjectPublicKeyInfo getSubjectPublicKeyInfo()
    • getIssuerUniqueId

      public ASN1BitString getIssuerUniqueId()
    • getSubjectUniqueId

      public ASN1BitString getSubjectUniqueId()
    • getExtensions

      public Extensions 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.