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

    • Method Detail

      • getInstance

        public static TBSCertificate getInstance​(java.lang.Object obj)
      • reviewStructure

        public static java.util.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(org.bouncycastle.asn1.ASN1Sequence, java.util.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()
      • getSerialNumber

        public ASN1Integer getSerialNumber()
      • getIssuer

        public X500Name getIssuer()
      • getValidity

        public Validity getValidity()
      • getStartDate

        public Time getStartDate()
      • getEndDate

        public Time getEndDate()
      • getSubject

        public X500Name getSubject()
      • getExtensions

        public Extensions getExtensions()