wip secmod
This commit is contained in:
parent
592ebee9a3
commit
b27ebea6ee
8 changed files with 153 additions and 109 deletions
23
src/secmod_denom.ml
Normal file
23
src/secmod_denom.ml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
type rsa = {
|
||||
coin: Types.Config_types.Coin.t;
|
||||
pub: Types.RsaPublicKey.t;
|
||||
sign: string -> string;
|
||||
}
|
||||
|
||||
let hash_pub _pub = "todo public key converted to Crockford Base32"
|
||||
|
||||
let make_rsa (coin : Types.Config_types.Coin.t) =
|
||||
assert (coin.cipher = `RSA);
|
||||
assert (Option.is_some coin.rsa_keysize);
|
||||
let rsa_keysize = coin.rsa_keysize |> Option.get in
|
||||
let open Mirage_crypto_pk.Rsa in
|
||||
let priv = generate ~bits:rsa_keysize () in
|
||||
let pub = pub_of_priv priv in
|
||||
let sign = decrypt ~crt_hardening:true ~mask:`Yes ~key:priv in
|
||||
{ coin; pub; sign }
|
||||
|
||||
let denom_device =
|
||||
let finally _key = () in
|
||||
Vif.Device.v ~name:"rsa_denom" ~finally [] @@ fun () ->
|
||||
let rsa_l = List.map make_rsa Config.coins in
|
||||
rsa_l
|
||||
Loading…
Add table
Add a link
Reference in a new issue