Documentation
¶
Overview ¶
Package types defines serialization and parsing functions for SignedLogRoot and SignedMapRoot fields.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseKeyHint ¶
ParseKeyHint converts a keyhint into a keyID.
func SerializeKeyHint ¶
SerializeKeyHint returns a byte slice with logID serialized as a big endian uint64.
Types ¶
type LogRoot ¶
type LogRoot struct {
Version tls.Enum `tls:"size:2"`
V1 *LogRootV1 `tls:"selector:Version,val:1"`
}
LogRoot holds the TLS-deserialization of the following structure (described in RFC5246 section 4 notation): enum { v1(1), (65535)} Version;
struct {
Version version;
select(version) {
case v1: LogRootV1;
}
} LogRoot;
type LogRootV1 ¶
type LogRootV1 struct {
TreeSize uint64
RootHash []byte `tls:"minlen:0,maxlen:128"`
TimestampNanos uint64
Revision uint64
Metadata []byte `tls:"minlen:0,maxlen:65535"`
}
LogRootV1 holds the TLS-deserialization of the following structure (described in RFC5246 section 4 notation):
struct {
uint64 tree_size;
opaque root_hash<0..128>;
uint64 timestamp_nanos;
uint64 revision;
opaque metadata<0..65535>;
} LogRootV1;
func (*LogRootV1) MarshalBinary ¶
MarshalBinary returns a canonical TLS serialization of LogRoot.
func (*LogRootV1) UnmarshalBinary ¶
UnmarshalBinary verifies that logRootBytes is a TLS serialized LogRoot, has the LOG_ROOT_FORMAT_V1 tag, and populates the caller with the deserialized *LogRootV1.
type MapRoot ¶
type MapRoot struct {
Version tls.Enum `tls:"size:2"`
V1 *MapRootV1 `tls:"selector:Version,val:1"`
}
MapRoot holds the TLS-deserialization of the following structure (described in RFC5246 section 4 notation): enum { v1(1), (65535)} Version;
struct {
Version version;
select(version) {
case v1: MapRootV1;
}
} MapRoot;
type MapRootV1 ¶
type MapRootV1 struct {
RootHash []byte `tls:"minlen:0,maxlen:128"`
TimestampNanos uint64
Revision uint64
Metadata []byte `tls:"minlen:0,maxlen:65535"`
}
MapRootV1 holds the TLS-deserialization of the following structure (described in RFC5246 section 4 notation):
struct {
opaque root_hash<0..128>;
uint64 timestamp_nanos;
uint64 revision;
opaque metadata<0..65535>;
} MapRootV1;
func (*MapRootV1) MarshalBinary ¶
MarshalBinary returns a canonical TLS serialization of the map root.
func (*MapRootV1) UnmarshalBinary ¶
UnmarshalBinary verifies that mapRootBytes is a TLS serialized MapRoot, has the MAP_ROOT_FORMAT_V1 tag, and returns the deserialized *MapRootV1.