diff options
Diffstat (limited to 'src/plop.hrl')
-rw-r--r-- | src/plop.hrl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/plop.hrl b/src/plop.hrl new file mode 100644 index 0000000..2e0d436 --- /dev/null +++ b/src/plop.hrl @@ -0,0 +1,27 @@ +%%% 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() :: tuple(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{}. |