Class TransItem


  • public class TransItem
    extends java.lang.Object
    One TLS-encoded item from an RFC 9162 (CT v2) TransItemList. The structure is a 2-byte VersionedTransType followed by the type-specific data payload; this class retains the payload as opaque bytes and provides a typed decoder for the only payload kind the certificate-side decoder needs to interpret in practice: getSignedCertificateTimestampDataV2(). Other payload kinds (log entries, signed tree heads, consistency / inclusion proofs) are still recoverable through getRawData(); layering structured decoders on top is intentionally left to consumers that need them.
         enum {
             x509_entry_v2(0x0100), precert_entry_v2(0x0101),
             x509_sct_v2(0x0102),   precert_sct_v2(0x0103),
             signed_tree_head_v2(0x0104),
             consistency_proof_v2(0x0105),
             inclusion_proof_v2(0x0106),
             reserved_rfc6962(0x0000..0x00FF),
             reserved_experimentaluse(0xE000..0xEFFF),
             reserved_privateuse(0xF000..0xFFFF),
             (0xFFFF)
         } VersionedTransType;
    
         struct {
             VersionedTransType versioned_type;
             select (versioned_type) {
                 case x509_sct_v2:    SignedCertificateTimestampDataV2;
                 case precert_sct_v2: SignedCertificateTimestampDataV2;
                 ...
             } data;
         } TransItem;
     
    • Constructor Detail

      • TransItem

        public TransItem​(int versionedType,
                         byte[] data)
    • Method Detail

      • getInstance

        public static TransItem getInstance​(byte[] encoded)
        Decode a TransItem from its serialized form (the bytes that appear as one SerializedTransItem entry inside a TransItemList).
      • getVersionedType

        public int getVersionedType()
      • getRawData

        public byte[] getRawData()
        The raw data payload bytes — i.e. the SerializedTransItem minus the 2-byte versioned_type prefix. The caller is responsible for parsing them according to getVersionedType().
      • getSignedCertificateTimestampDataV2

        public SignedCertificateTimestampDataV2 getSignedCertificateTimestampDataV2()
        When this item is a v2 SCT (x509_sct_v2 or precert_sct_v2), return the decoded payload; otherwise return null.
      • getEncoded

        public byte[] getEncoded()
        Serialize this TransItem to its TLS wire form.