wip secmod

This commit is contained in:
swrup 2026-02-17 09:30:20 +01:00
parent 77d5327745
commit 1e30753ba9
13 changed files with 465 additions and 546 deletions

View file

@ -1,6 +1,7 @@
module type S = sig
open Crypto
val sm_pubkey : eddsa_pub
val sign_with_sm_key : string -> eddsa_sig
val sign_with_signkey : pub:eddsa_pub -> string -> eddsa_sig
val verify_with_master_key : eddsa_sig -> msg:string -> (unit, string) result
@ -9,25 +10,23 @@ module type S = sig
val verify_with_signkey :
pub:eddsa_pub -> eddsa_sig -> msg:string -> (unit, string) result
(* TODO query database instead? *)
val get_sm_key_pub : unit -> eddsa_pub
val get_signkeys_data : unit -> Signkey_data.t list
val get_denoms_data : unit -> Denom_data.t list
val find_signkey_data : eddsa_pub -> Signkey_data.t option
val find_denom_data : denomination_hash -> Denom_data.t option
val find_denom_section_name : denomination_hash -> string option
val get_signkeys : unit -> Signkey.t list
val get_denominations : unit -> Denomination.t list
val get_future_signkeys : unit -> Api.FutureSignKey.t list
val get_future_denominations : unit -> Api.FutureDenom.t list
val find_signkey : eddsa_pub -> Signkey.t option
val find_denomination : denom_hash -> Denomination.t option
val find_future_signkey : eddsa_pub -> Api.FutureSignKey.t option
val find_future_denomination : denom_hash -> Api.FutureDenom.t option
(* - management operations - *)
(* TODO
problem of keeping db and secmod state syncronized
do db interaction from secmod? *)
val add_signkey_master_signatures :
(eddsa_pub * Signatures.ExchangeSigningKeyValidity.t) list ->
val certify_future_signkey :
eddsa_pub ->
master_sig:Signatures.ExchangeSigningKeyValidity.t ->
(unit, string) result
val add_denom_master_signatures :
(denomination_hash * Signatures.DenominationKeyValidity.t) list ->
val certify_future_denomination :
denom_hash ->
master_sig:Signatures.DenominationKeyValidity.t ->
(unit, string) result
val revoke_signkey :
@ -36,11 +35,11 @@ module type S = sig
(unit, string) result
val revoke_denomination :
denomination_hash ->
denom_hash ->
Signatures.MasterDenominationKeyRevocation.t ->
(unit, string) result
val store : unit -> (unit, string) result
val save : unit -> (unit, string) result
end
module Make (_ : Pg.CONN) : S