package
0.0.0-20151030130753-3df3b0472ffd
Repository: https://github.com/dedis/certificate-transparency.git
Documentation: pkg.go.dev

# README

This is the really early beginnings of a certificate transparency log client written in Go, along with a log scanner tool.

You'll need go v1.1 or higher to compile.

Installation

This go code must be imported into your go workspace before you can use it, which can be done with:

go get github.com/google/certificate-transparency/go/client
go get github.com/google/certificate-transparency/go/scanner
etc.

Building the binaries

To compile the log scanner run:

go build github.com/google/certificate-transparency/go/scanner/main/scanner.go

Contributing

When sending pull requests, please ensure that everything's been run through gofmt beforehand so we can keep everything nice and tidy.

# Packages

Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
Package client is a CT log client implementation and contains types and code for interacting with RFC6962-compliant CT Log instances.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package x509 parses X.509-encoded keys and certificates.

# Functions

No description provided by the author
MarshalDigitallySigned marshalls a DigitallySigned structure into a byte array.
NewSignatureVerifier creates a new SignatureVerifier using the passed in PublicKey.
PublicKeyFromPEM parses a PEM formatted block and returns the public key contained within and any remaining unread bytes, or an error.
ReadMerkleTreeLeaf parses the byte-stream representation of a MerkleTreeLeaf and returns a pointer to a new MerkleTreeLeaf structure containing the parsed data.
ReadTimestampedEntryInto parses the byte-stream representation of a TimestampedEntry from |r| and populates the struct |t| with the data.
SerializeSCT serializes the passed in sct into the format specified by RFC6962 section 3.2.
SerializeSCTSignatureInput serializes the passed in sct and log entry into the correct format for signing.
SerializeSTHSignatureInput serializes the passed in sth into the correct format for signing.
UnmarshalDigitallySigned reconstructs a DigitallySigned structure from a Reader.
UnmarshalPrecertChainArray unmarshalls the contents of the "chain:" entry in a GetEntries response in the case where the entry refers to a Precertificate leaf.
UnmarshalX509ChainArray unmarshalls the contents of the "chain:" entry in a GetEntries response in the case where the entry refers to an X509 leaf.

# Constants

SignatureAlgorithm constants.
Variable size structure prefix-header byte lengths.
Variable size structure prefix-header byte lengths.
SignatureType constants, see RFC section 3.2.
SignatureAlgorithm constants.
SignatureAlgorithm constants.
Variable size structure prefix-header byte lengths.
Max lengths.
Max lengths.
HashAlgorithm constants.
HashAlgorithm constants.
Variable size structure prefix-header byte lengths.
LogEntryType constants, see section 3.1 of RFC6962.
SignatureAlgorithm constants.
HashAlgorithm constants.
HashAlgorithm constants.
HashAlgorithm constants.
HashAlgorithm constants.
HashAlgorithm constants.
Variable size structure prefix-header byte lengths.
Entry type for an SCT.
SignatureType constants, see RFC section 3.2.
CT Version constants, see section 3.2 of the RFC.
LogEntryType constants, see section 3.1 of RFC6962.

# Structs

DigitallySigned represents an RFC5246 DigitallySigned structure.
LogEntry represents the contents of an entry in a CT log, see section 3.1.
MerkleTreeLeaf represents the deserialized sructure of the hash input for the leaves of a log's Merkle tree.
PreCert represents a Precertificate (section 3.2).
Precertificate represents the parsed CT Precertificate structure.
SignatureVerifier can verify signatures on SCTs and STHs.
SignedCertificateTimestamp represents the structure returned by the add-chain and add-pre-chain methods after base64 decoding.
SignedTreeHead represents the structure returned by the get-sth CT method after base64 decoding.
TimestampedEntry is part of the MerkleTreeLeaf structure.

# Type aliases

ASN1Cert type for holding the raw DER bytes of an ASN.1 Certificate (section 3.1).
AuditPath represents a CT inclusion proof (see sections 2.1.1 and 4.5).
ConsistencyProof represents a CT consistency proof (see sections 2.1.2 and 4.4).
CTExtensions is a representation of the raw bytes of any CtExtension structure (see section 3.2).
HashAlgorithm from the DigitallySigned struct.
LeafInput represents a serialized MerkleTreeLeaf structure.
LogEntryType represents the LogEntryType enum from section 3.1 of the RFC: enum { x509_entry(0), precert_entry(1), (65535) } LogEntryType;.
MerkleLeafType represents the MerkleLeafType enum from section 3.4 of the RFC: enum { timestamped_entry(0), (255) } MerkleLeafType;.
MerkleTreeNode represents an internal node in the CT tree.
SHA256Hash represents the output from the SHA256 hash function.
SignatureAlgorithm from the the DigitallySigned struct.
SignatureType differentiates STH signatures from SCT signatures, see RFC section 3.2.
Version represents the Version enum from section 3.2 of the RFC: enum { v1(0), (255) } Version;.