wip functorize secmod
This commit is contained in:
parent
0fed6735db
commit
365a67577f
3 changed files with 394 additions and 349 deletions
|
|
@ -1,50 +1,42 @@
|
|||
(* TODO functorize *)
|
||||
open Crypto
|
||||
module type S = sig
|
||||
open Crypto
|
||||
|
||||
type t
|
||||
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
|
||||
val verify_with_sm_key : eddsa_sig -> msg:string -> (unit, string) result
|
||||
|
||||
val sign_with_sm_key : t -> string -> eddsa_sig
|
||||
val sign_with_signkey : t -> pub:eddsa_pub -> string -> eddsa_sig
|
||||
val verify_with_master_key : eddsa_sig -> msg:string -> (unit, string) result
|
||||
val verify_with_sm_key : t -> eddsa_sig -> msg:string -> (unit, string) result
|
||||
val verify_with_signkey :
|
||||
pub:eddsa_pub -> eddsa_sig -> msg:string -> (unit, string) result
|
||||
|
||||
val verify_with_signkey :
|
||||
t -> 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
|
||||
|
||||
(* TODO query database instead? *)
|
||||
val get_sm_key_pub : t -> eddsa_pub
|
||||
val get_signkeys_data : t -> Signkey_data.t list
|
||||
val get_denoms_data : t -> Denom_data.t list
|
||||
val find_signkey_data : t -> eddsa_pub -> Signkey_data.t option
|
||||
val find_denom_data : t -> denomination_hash -> Denom_data.t option
|
||||
val find_denom_section_name : t -> denomination_hash -> string option
|
||||
|
||||
(* - management operations - *)
|
||||
(* TODO
|
||||
(* - management operations - *)
|
||||
(* TODO
|
||||
problem of keeping db and secmod state syncronized
|
||||
do db interaction from secmod? *)
|
||||
val init : (module Pg.CONN) -> t
|
||||
|
||||
val add_signkey_master_signatures :
|
||||
(module Pg.CONN) ->
|
||||
t ->
|
||||
(eddsa_pub * Bin_sig.ExchangeSigningKeyValidity.t) list ->
|
||||
(unit, string) result
|
||||
val add_signkey_master_signatures :
|
||||
(eddsa_pub * Bin_sig.ExchangeSigningKeyValidity.t) list ->
|
||||
(unit, string) result
|
||||
|
||||
val add_denom_master_signatures :
|
||||
(module Pg.CONN) ->
|
||||
t ->
|
||||
(denomination_hash * Bin_sig.DenominationKeyValidity.t) list ->
|
||||
(unit, string) result
|
||||
val add_denom_master_signatures :
|
||||
(denomination_hash * Bin_sig.DenominationKeyValidity.t) list ->
|
||||
(unit, string) result
|
||||
|
||||
val revoke_signkey :
|
||||
t ->
|
||||
eddsa_pub ->
|
||||
Bin_sig.MasterSigningKeyRevocation.t ->
|
||||
(unit, string) result
|
||||
val revoke_signkey :
|
||||
eddsa_pub -> Bin_sig.MasterSigningKeyRevocation.t -> (unit, string) result
|
||||
|
||||
val revoke_denomination :
|
||||
t ->
|
||||
denomination_hash ->
|
||||
Bin_sig.MasterDenominationKeyRevocation.t ->
|
||||
(unit, string) result
|
||||
val revoke_denomination :
|
||||
denomination_hash ->
|
||||
Bin_sig.MasterDenominationKeyRevocation.t ->
|
||||
(unit, string) result
|
||||
end
|
||||
|
||||
module Make (_ : Pg.CONN) : S
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue