23 lines
667 B
OCaml
23 lines
667 B
OCaml
open Crypto
|
|
|
|
(* TODO master_sig
|
|
not sur how to handle master_sig initialization *)
|
|
type t = {
|
|
pub: EddsaPublicKey.t;
|
|
priv: EddsaPrivateKey.t;
|
|
stamp_start: Timestamp.t;
|
|
stamp_expire: Timestamp.t;
|
|
stamp_end: Timestamp.t;
|
|
master_sig: Bin_sig.ExchangeSigningKeyValidity.t option;
|
|
}
|
|
|
|
let make () =
|
|
let stamp_start = Ptime_clock.now () |> Option.some in
|
|
let stamp_expire =
|
|
Timestamp.add_span_exn stamp_start
|
|
(Some Config.Exchange.signkey_legal_duration)
|
|
in
|
|
let stamp_end = stamp_expire in
|
|
let priv, pub = Mirage_crypto_ec.Ed25519.generate () in
|
|
let master_sig = None in
|
|
{ pub; priv; stamp_start; stamp_expire; stamp_end; master_sig }
|