Class SignedCertificateTimestampDataV2


  • public class SignedCertificateTimestampDataV2
    extends java.lang.Object
    The SCT body carried inside an RFC 9162 (CT v2) TransItem whose versioned_type is x509_sct_v2 (0x0102) or precert_sct_v2 (0x0103).
         struct {
             LogID    log_id;                       // opaque LogID<2..127>
             uint64   timestamp;
             Extension sct_extensions<0..2^16-1>;
             opaque   signature<1..2^16-1>;
         } SignedCertificateTimestampDataV2;
     
    Notable differences vs the RFC 6962 v1 SignedCertificateTimestamp: the log identifier is variable-length (a 1-byte length prefix preceding 2-127 bytes, not a fixed 32-byte SHA-256); sct_extensions is a structured list of SctExtension entries rather than an opaque blob; the signature is plain opaque bytes (no embedded hash / signature algorithm pair — the verifier discovers the algorithm from the log's published key).
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] getEncoded()
      Serialize this v2 SCT body to its TLS wire form (the bytes that would form the data field of the containing TransItem).
      static SignedCertificateTimestampDataV2 getInstance​(byte[] encoded)
      Decode the v2 SCT body from its serialized TLS form (the bytes of the containing TransItem.data field, after the 2-byte versioned_type prefix has been stripped).
      byte[] getLogID()
      Variable-length log identifier (2..127 bytes).
      java.util.List getSctExtensions()
      Decoded sct_extensions entries; never null.
      byte[] getSignature()
      Raw signature bytes.
      long getTimestamp()
      Issuance timestamp in milliseconds since the Unix epoch.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SignedCertificateTimestampDataV2

        public SignedCertificateTimestampDataV2​(byte[] logID,
                                                long timestamp,
                                                SctExtension[] sctExtensions,
                                                byte[] signature)
    • Method Detail

      • getInstance

        public static SignedCertificateTimestampDataV2 getInstance​(byte[] encoded)
        Decode the v2 SCT body from its serialized TLS form (the bytes of the containing TransItem.data field, after the 2-byte versioned_type prefix has been stripped).
      • getLogID

        public byte[] getLogID()
        Variable-length log identifier (2..127 bytes).
      • getTimestamp

        public long getTimestamp()
        Issuance timestamp in milliseconds since the Unix epoch.
      • getSctExtensions

        public java.util.List getSctExtensions()
        Decoded sct_extensions entries; never null.
      • getSignature

        public byte[] getSignature()
        Raw signature bytes.
      • getEncoded

        public byte[] getEncoded()
        Serialize this v2 SCT body to its TLS wire form (the bytes that would form the data field of the containing TransItem).