This commit is contained in:
parent
d2282cd135
commit
d27c0b2354
3 changed files with 11 additions and 9 deletions
|
|
@ -107,9 +107,7 @@ module Keys_post = struct
|
||||||
let verify_denom_signature ~sm DenomSignature.{ h_denom_pub; master_sig } =
|
let verify_denom_signature ~sm DenomSignature.{ h_denom_pub; master_sig } =
|
||||||
let denom_hash = HashCode.to_denomination_hash h_denom_pub in
|
let denom_hash = HashCode.to_denomination_hash h_denom_pub in
|
||||||
let* denom =
|
let* denom =
|
||||||
Secmod.get_denoms sm
|
match Secmod.find_denom_data sm denom_hash with
|
||||||
|> List.find_opt (fun (denom : Denom_data.t) -> denom.h_pub = denom_hash)
|
|
||||||
|> function
|
|
||||||
| None ->
|
| None ->
|
||||||
Fmt.error
|
Fmt.error
|
||||||
"404 not found, One of the keys for which a signature was provided \
|
"404 not found, One of the keys for which a signature was provided \
|
||||||
|
|
@ -135,9 +133,7 @@ module Keys_post = struct
|
||||||
|
|
||||||
let verify_signkey_signature ~sm SignKeySignature.{ key; master_sig } =
|
let verify_signkey_signature ~sm SignKeySignature.{ key; master_sig } =
|
||||||
let* signkey =
|
let* signkey =
|
||||||
Secmod.get_signkeys sm
|
match Secmod.find_signkey_data sm key with
|
||||||
|> List.find_opt (fun (signkey : Signkey_data.t) -> signkey.pub = key)
|
|
||||||
|> function
|
|
||||||
| None ->
|
| None ->
|
||||||
Fmt.error
|
Fmt.error
|
||||||
"404 not found, One of the keys for which a signature was provided \
|
"404 not found, One of the keys for which a signature was provided \
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,6 @@ let verify_with_signkey t ~pub s ~msg =
|
||||||
| None -> Error "secmod failure: public key not found."
|
| None -> Error "secmod failure: public key not found."
|
||||||
| Some signkey -> EddsaSignature.verify ~key:signkey.pub s ~msg
|
| Some signkey -> EddsaSignature.verify ~key:signkey.pub s ~msg
|
||||||
|
|
||||||
let get_sm_key_priv t = t.sm_key_priv
|
|
||||||
let get_sm_key_pub t = t.sm_key_pub
|
let get_sm_key_pub t = t.sm_key_pub
|
||||||
|
|
||||||
let get_signkeys t =
|
let get_signkeys t =
|
||||||
|
|
@ -59,6 +58,12 @@ let get_denoms t =
|
||||||
Miou.Mutex.protect t.lock @@ fun () ->
|
Miou.Mutex.protect t.lock @@ fun () ->
|
||||||
Hashtbl.to_seq_values t.dn_ht |> List.of_seq
|
Hashtbl.to_seq_values t.dn_ht |> List.of_seq
|
||||||
|
|
||||||
|
let find_signkey_data t pub =
|
||||||
|
Miou.Mutex.protect t.lock @@ fun () -> Hashtbl.find_opt t.sk_ht pub
|
||||||
|
|
||||||
|
let find_denom_data t h_denom =
|
||||||
|
Miou.Mutex.protect t.lock @@ fun () -> Hashtbl.find_opt t.dn_ht h_denom
|
||||||
|
|
||||||
let add_signkey_master_signatures conn t l =
|
let add_signkey_master_signatures conn t l =
|
||||||
Miou.Mutex.protect t.lock @@ fun () ->
|
Miou.Mutex.protect t.lock @@ fun () ->
|
||||||
list_iter
|
list_iter
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,14 @@ val verify_with_sm_key : t -> eddsa_sig -> msg:string -> (unit, string) result
|
||||||
val verify_with_signkey :
|
val verify_with_signkey :
|
||||||
t -> pub:eddsa_pub -> eddsa_sig -> msg:string -> (unit, string) result
|
t -> pub:eddsa_pub -> eddsa_sig -> msg:string -> (unit, string) result
|
||||||
|
|
||||||
val get_sm_key_priv : t -> eddsa_priv
|
|
||||||
val get_sm_key_pub : t -> eddsa_pub
|
val get_sm_key_pub : t -> eddsa_pub
|
||||||
val get_signkeys : t -> Signkey_data.t list
|
val get_signkeys : t -> Signkey_data.t list
|
||||||
val get_denoms : t -> Denom_data.t list
|
val get_denoms : t -> Denom_data.t list
|
||||||
val init : (module Pg.CONN) -> t
|
val find_signkey_data : t -> eddsa_pub -> Signkey_data.t option
|
||||||
|
val find_denom_data : t -> denomination_hash -> Denom_data.t option
|
||||||
|
|
||||||
(* - management operations - *)
|
(* - management operations - *)
|
||||||
|
val init : (module Pg.CONN) -> t
|
||||||
|
|
||||||
val add_signkey_master_signatures :
|
val add_signkey_master_signatures :
|
||||||
(module Pg.CONN) ->
|
(module Pg.CONN) ->
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue