Documentation ¶
Index ¶
Constants ¶
const ( CertificateLengthBytes = 3 PreCertificateLengthBytes = 3 ExtensionsLengthBytes = 2 CertificateChainLengthBytes = 3 SignatureLengthBytes = 2 )
Variable size structure prefix-header byte lengths
Variables ¶
var ( ErrInvalidVersion error = sctError(1) ErrNotEnoughBuffer error = sctError(2) )
Preallocate errors for performance
Functions ¶
func MarshalDigitallySigned ¶
func MarshalDigitallySigned(ds DigitallySigned) ([]byte, error)
MarshalDigitallySigned marshalls a DigitallySigned structure into a byte array
Types ¶
type CTExtensions ¶
type CTExtensions []byte
CTExtensions is a representation of the raw bytes of any CtExtension structure (see section 3.2)
type DigitallySigned ¶
type DigitallySigned struct { HashAlgorithm HashAlgorithm SignatureAlgorithm SignatureAlgorithm Signature []byte }
DigitallySigned represents an RFC5246 DigitallySigned structure
func UnmarshalDigitallySigned ¶
func UnmarshalDigitallySigned(r io.Reader) (*DigitallySigned, error)
UnmarshalDigitallySigned reconstructs a DigitallySigned structure from a Reader
func (DigitallySigned) Base64String ¶
func (d DigitallySigned) Base64String() (string, error)
Base64String returns the base64 representation of the DigitallySigned struct.
func (*DigitallySigned) FromBase64String ¶
func (d *DigitallySigned) FromBase64String(b64 string) error
FromBase64String populates the DigitallySigned structure from the base64 data passed in. Returns an error if the base64 data is invalid.
func (DigitallySigned) MarshalJSON ¶
func (d DigitallySigned) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface.
func (*DigitallySigned) UnmarshalJSON ¶
func (d *DigitallySigned) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface.
type HashAlgorithm ¶
type HashAlgorithm byte
HashAlgorithm from the DigitallySigned struct
const ( None HashAlgorithm = 0 MD5 HashAlgorithm = 1 SHA1 HashAlgorithm = 2 SHA224 HashAlgorithm = 3 SHA256 HashAlgorithm = 4 SHA384 HashAlgorithm = 5 SHA512 HashAlgorithm = 6 )
HashAlgorithm constants
func (HashAlgorithm) String ¶
func (h HashAlgorithm) String() string
type SHA256Hash ¶
SHA256Hash represents the output from the SHA256 hash function.
func (SHA256Hash) Base64String ¶
func (s SHA256Hash) Base64String() string
Base64String returns the base64 representation of this SHA256Hash.
func (*SHA256Hash) FromBase64String ¶
func (s *SHA256Hash) FromBase64String(b64 string) error
FromBase64String populates the SHA256 struct with the contents of the base64 data passed in.
func (SHA256Hash) MarshalJSON ¶
func (s SHA256Hash) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface for SHA256Hash.
func (*SHA256Hash) UnmarshalJSON ¶
func (s *SHA256Hash) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaller interface.
type SignatureAlgorithm ¶
type SignatureAlgorithm byte
SignatureAlgorithm from the the DigitallySigned struct
const ( Anonymous SignatureAlgorithm = 0 RSA SignatureAlgorithm = 1 DSA SignatureAlgorithm = 2 ECDSA SignatureAlgorithm = 3 )
SignatureAlgorithm constants
func (SignatureAlgorithm) String ¶
func (s SignatureAlgorithm) String() string
type SignedCertificateTimestamp ¶
type SignedCertificateTimestamp struct { SCTVersion Version `json:"version"` // The version of the protocol to which the SCT conforms LogID SHA256Hash `json:"log_id"` // the SHA-256 hash of the log's public key, calculated over // the DER encoding of the key represented as SubjectPublicKeyInfo. Timestamp uint64 `json:"timestamp,omitempty"` // Timestamp (in ms since unix epoc) at which the SCT was issued. NOTE: When this is serialized, the output is in seconds, not milliseconds. Extensions CTExtensions `json:"extensions,omitempty"` // For future extensions to the protocol Signature DigitallySigned `json:"signature"` // The Log's signature for this SCT }
SignedCertificateTimestamp represents the structure returned by the add-chain and add-pre-chain methods after base64 decoding. (see RFC sections 3.2 ,4.1 and 4.2)
func DeserializeSCT ¶
func DeserializeSCT(r io.Reader) (*SignedCertificateTimestamp, error)
func (*SignedCertificateTimestamp) MarshalJSON ¶
func (sct *SignedCertificateTimestamp) MarshalJSON() ([]byte, error)
MarshalJSON implements the JSON.Marshaller interface.