mte/src/signkey.ml

24 lines
555 B
OCaml
Raw Normal View History

2026-03-20 00:43:26 +01:00
open Time
2025-12-03 16:19:11 +01:00
type t = {
2026-03-20 22:47:58 +01:00
pub: Eddsa.pub;
2025-12-03 16:19:11 +01:00
stamp_start: Timestamp.t;
stamp_expire: Timestamp.t;
stamp_end: Timestamp.t;
2026-02-17 09:30:20 +01:00
master_sig: Signatures.ExchangeSigningKeyValidity.t;
2025-12-03 16:19:11 +01:00
}
2026-02-26 17:04:48 +01:00
2026-04-11 20:35:15 +02:00
let verify ~master_key sk =
2026-02-27 20:28:56 +01:00
let open Signatures.ExchangeSigningKeyValidity in
2026-04-11 20:35:15 +02:00
verify master_key sk.master_sig
2026-02-27 20:28:56 +01:00
{
R.start= sk.stamp_start;
expire= sk.stamp_expire;
end_= sk.stamp_end;
signkey_pub= sk.pub;
}
2026-02-26 17:04:48 +01:00
let is_valid_at ~timestamp sk =
2026-02-27 22:44:49 +01:00
Timestamp.compare sk.stamp_start timestamp <= 0
&& Timestamp.compare timestamp sk.stamp_end < 0