mte/src/signkey.ml
2026-07-03 19:53:23 +02:00

23 lines
555 B
OCaml

open Time
type t = {
pub: Eddsa.pub;
stamp_start: Timestamp.t;
stamp_expire: Timestamp.t;
stamp_end: Timestamp.t;
master_sig: Signatures.ExchangeSigningKeyValidity.t;
}
let verify ~master_key sk =
let open Signatures.ExchangeSigningKeyValidity in
verify master_key sk.master_sig
{
R.start= sk.stamp_start;
expire= sk.stamp_expire;
end_= sk.stamp_end;
signkey_pub= sk.pub;
}
let is_valid_at ~timestamp sk =
Timestamp.compare sk.stamp_start timestamp <= 0
&& Timestamp.compare timestamp sk.stamp_end < 0