%%% Copyright (c) 2014, NORDUnet A/S. %%% See LICENSE for licensing information. %%% Plop data structures. Heavily based on RFC 6962. Some are for %%% database storage, some for interfacing with consumers and some are %%% for serialisation. %% Signed tree head %% {Treesize, Timestamp, Roothash, Signature} -type sth() :: {integer(), integer(), binary(), signature()}. %% RFC 5246 7.4.1.4.1 -type hash_alg_type() :: none | md5 | sha1 | sha224 | sha256 | sha384 | sha512. % uint8 -type signature_alg_type() :: anonymous | rsa | dsa | ecdsa. % uint8 -record(sig_and_hash_alg, { hash_alg :: hash_alg_type(), signature_alg :: signature_alg_type() }). -type sig_and_hash_alg() :: #sig_and_hash_alg{}. %% RFC 5246 4.7 -record(signature, { algorithm :: sig_and_hash_alg(), signature :: binary() }). -type signature() :: #signature{}.