This commit is contained in:
parent
592ebee9a3
commit
187172327f
8 changed files with 152 additions and 112 deletions
21
src/secmod_keys.ml
Normal file
21
src/secmod_keys.ml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
type t = {
|
||||
pub: Mirage_crypto_ec.Ed25519.pub;
|
||||
sign: string -> string;
|
||||
}
|
||||
|
||||
let make ~name =
|
||||
let finally _key = () in
|
||||
Vif.Device.v ~name ~finally [] @@ fun () ->
|
||||
(* TODO
|
||||
- look if it exists
|
||||
- if not, create it (TOFU initialization scheme)
|
||||
- write it *)
|
||||
let priv, pub = Mirage_crypto_ec.Ed25519.generate () in
|
||||
{ pub; sign= Mirage_crypto_ec.Ed25519.sign ~key:priv }
|
||||
|
||||
let signkey_device = make ~name:"signkey"
|
||||
|
||||
(* the actual exchange's signing key
|
||||
signed by the secmod signkey *)
|
||||
let exchange_device = make ~name:"exchange"
|
||||
let denom_device = make ~name:"denom"
|
||||
Loading…
Add table
Add a link
Reference in a new issue