refacto verify_denomination/signkey
This commit is contained in:
parent
d2e546571c
commit
368e595d44
6 changed files with 114 additions and 169 deletions
30
src/keys.ml
30
src/keys.ml
|
|
@ -11,15 +11,11 @@ module type S = sig
|
|||
val find_denomination : denom_hash -> Denomination.t option result
|
||||
val signkeys : unit -> Signkey.t list result
|
||||
val denominations : unit -> Denomination.t list result
|
||||
val find_future_signkey : eddsa_pub -> Api.FutureSignKey.t result
|
||||
val find_future_denomination : denom_hash -> Api.FutureDenom.t result
|
||||
val make_future_keys_response : unit -> Api.FutureKeysResponse.t result
|
||||
|
||||
val certify_future_signkey :
|
||||
eddsa_pub -> Signatures.ExchangeSigningKeyValidity.t -> unit result
|
||||
|
||||
val certify_future_denomination :
|
||||
denom_hash -> Signatures.DenominationKeyValidity.t -> unit result
|
||||
val verify_future_signkey : Api.SignKeySignature.t -> unit result
|
||||
val verify_future_denomination : Api.DenomSignature.t -> unit result
|
||||
val certify_future_signkey : Api.SignKeySignature.t -> unit result
|
||||
val certify_future_denomination : Api.DenomSignature.t -> unit result
|
||||
|
||||
val revoke_signkey :
|
||||
eddsa_pub -> Signatures.MasterSigningKeyRevocation.t -> unit result
|
||||
|
|
@ -277,7 +273,20 @@ module Make (Conn : Pg.CONN) : S = struct
|
|||
master_sig;
|
||||
}
|
||||
|
||||
let certify_future_signkey pub master_sig =
|
||||
let verify_future_signkey Api.SignKeySignature.{ key; master_sig } =
|
||||
let* fsk = find_future_signkey key in
|
||||
let sk = sk_of_future_sk fsk master_sig in
|
||||
Signkey.verify_exchange_signing_key_validity ~key:Config.master_public_key
|
||||
sk
|
||||
|
||||
let verify_future_denomination Api.DenomSignature.{ h_denom_pub; master_sig }
|
||||
=
|
||||
let* fdn = find_future_denomination h_denom_pub in
|
||||
let dn = dn_of_future_dn fdn h_denom_pub master_sig in
|
||||
Denomination.verify_denomination_key_validity ~key:Config.master_public_key
|
||||
dn
|
||||
|
||||
let certify_future_signkey Api.SignKeySignature.{ key= pub; master_sig } =
|
||||
match Sm_eddsa.find_key pub with
|
||||
| None -> Error "future signkey not found"
|
||||
| Some (pub, (t1, t2)) -> (
|
||||
|
|
@ -295,7 +304,8 @@ module Make (Conn : Pg.CONN) : S = struct
|
|||
m "certified signkey `%s`" (EddsaPublicKey.to_b32 sk.pub));
|
||||
())
|
||||
|
||||
let certify_future_denomination h_pub master_sig =
|
||||
let certify_future_denomination
|
||||
Api.DenomSignature.{ h_denom_pub= h_pub; master_sig } =
|
||||
match Sm_rsa.find_key h_pub with
|
||||
| None -> Error "future denomination not found"
|
||||
| Some (h_pub, (section_name, pub, t1)) -> (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue