This commit is contained in:
swrup 2026-02-17 09:30:20 +01:00
parent 24b9adc300
commit f6cf06591b
7 changed files with 30 additions and 30 deletions

View file

@ -24,7 +24,7 @@ let config req _server _env =
for now we only have one item in each "denom group"
change this once we have denom/signkey rotation *)
let denomgroup_of_denomdata
Denom_data.
Denomination.
{
pub;
value;
@ -120,16 +120,16 @@ let mk_keys ~db_conn (module Sm : Secmod.S) ~last_issue_date =
let denom_data_l =
(* reverse chronological order *)
List.sort
(fun a b -> Stdlib.compare b.Denom_data.stamp_start a.stamp_start)
(fun a b -> Stdlib.compare b.Denomination.stamp_start a.stamp_start)
denom_data_l
in
let list_issue_date =
match denom_data_l with
| [] -> Time.Timestamp.never
| v :: _ -> v.Denom_data.stamp_start
| v :: _ -> v.Denomination.stamp_start
in
let denominations =
let open Denom_data in
let open Denomination in
(* if `?last_issue_date` query param does not exactly match the `stamp_start`
of one of the denomination keys, all keys are returned *)
let l =
@ -162,12 +162,12 @@ let mk_keys ~db_conn (module Sm : Secmod.S) ~last_issue_date =
let signkey_data_l =
List.sort
(fun a b ->
let open Signkey_data in
let open Signkey in
Stdlib.compare b.stamp_start a.stamp_start)
signkey_data_l
in
List.filter_map
(fun Signkey_data.
(fun Signkey.
{
pub;
stamp_start;
@ -197,7 +197,7 @@ let mk_keys ~db_conn (module Sm : Secmod.S) ~last_issue_date =
chronological order by group) in the arrays under "denominations". *)
let hc =
denom_data_l
|> List.filter_map (fun v -> v.Denom_data.master_sig)
|> List.filter_map (fun v -> v.Denomination.master_sig)
|> List.map Signatures.DenominationKeyValidity.to_octets
|> String.concat ""
|> Hash.H64.hash

View file

@ -20,7 +20,7 @@ module Keys_get = struct
master_sig= _;
revoked_sig= _;
} :
Denom_data.t) =
Denomination.t) =
let denom_pub =
DenominationKey.of_rsa RsaDenominationKey.{ age_mask; rsa_pub= pub }
in
@ -60,7 +60,7 @@ module Keys_get = struct
master_sig= _;
revoked_sig= _;
} :
Signkey_data.t) =
Signkey.t) =
let signkey_secmod_sig =
let open Signatures.SigningKeyAnnouncement in
let exchange_pub = pub in
@ -74,14 +74,14 @@ module Keys_get = struct
let mk_future_keys_response (module Sm : Secmod.S) =
let future_signkeys =
Sm.get_signkeys_data ()
|> List.filter (fun k -> Option.is_none k.Signkey_data.master_sig)
|> List.filter (fun k -> Option.is_none k.Signkey.master_sig)
|> List.map (fun signkey -> mk_future_signkey (module Sm) signkey)
in
let future_denoms =
Sm.get_denoms_data ()
|> List.filter (fun k -> Option.is_none k.Denom_data.master_sig)
|> List.filter (fun k -> Option.is_none k.Denomination.master_sig)
|> List.map (fun dn_data ->
let opt = Sm.find_denom_section_name dn_data.Denom_data.h_pub in
let opt = Sm.find_denom_section_name dn_data.Denomination.h_pub in
match opt with
| None -> Fmt.failwith "section_name not found."
| Some section_name ->
@ -116,7 +116,7 @@ module Keys_post = struct
let verify_denom_signature (module Sm : Secmod.S)
DenomSignature.{ h_denom_pub; master_sig } =
let* denom =
match Sm.find_denom_data h_denom_pub with
match Sm.find_denomination h_denom_pub with
| None ->
Fmt.error
"404 not found, One of the keys for which a signature was provided \

View file

@ -48,7 +48,7 @@ let signkey_data =
let revoked_sig = option Signatures.MasterSigningKeyRevocation.caqti in
custom
~encode:(fun
Signkey_data.
Signkey.
{ pub; stamp_start; stamp_expire; stamp_end; master_sig; revoked_sig }
->
match master_sig with
@ -73,7 +73,7 @@ let denom_data =
let revoked_sig = option Signatures.MasterDenominationKeyRevocation.caqti in
custom
~encode:(fun
Denom_data.
Denomination.
{
pub;
value;

View file

@ -11,10 +11,10 @@ module type S = sig
(* 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 get_signkeys_data : unit -> Signkey.t list
val get_denoms_data : unit -> Denomination.t list
val find_signkey_data : eddsa_pub -> Signkey.t option
val find_denomination : denomination_hash -> Denomination.t option
val find_denom_section_name : denomination_hash -> string option
(* - management operations - *)
@ -57,12 +57,12 @@ module Make (Conn : Pg.CONN) = struct
type signkey = {
priv: eddsa_priv;
sk_data: Signkey_data.t;
sk_data: Signkey.t;
}
type denom = {
priv: rsa_priv;
dn_data: Denom_data.t;
dn_data: Denomination.t;
}
type t = {
@ -84,7 +84,7 @@ module Make (Conn : Pg.CONN) = struct
(Fpath.to_string fname)
| Some sk_data -> Ok sk_data
let db_lookup_denom_data conn ~section_name priv =
let db_lookup_denomination conn ~section_name priv =
let pub = RsaPrivateKey.pub_of_priv priv in
let h_pub = Hash.DenominationHash.hash (RsaPublicKey.to_octets pub) in
let* opt = Pg.find_denom conn h_pub |> unwrap_err_caqti in
@ -133,7 +133,7 @@ module Make (Conn : Pg.CONN) = struct
| None -> Ok None
| Some priv ->
(* todo: could check that coin config match db values *)
let* dn_data = db_lookup_denom_data conn ~section_name priv in
let* dn_data = db_lookup_denomination conn ~section_name priv in
Hashtbl.replace dn_section_name_ht dn_data.h_pub section_name;
let denom = { priv; dn_data } in
Ok (Some denom))
@ -177,7 +177,7 @@ module Make (Conn : Pg.CONN) = struct
let master_sig = None in
let revoked_sig = None in
let sk_data =
Signkey_data.
Signkey.
{ pub; stamp_start; stamp_expire; stamp_end; master_sig; revoked_sig }
in
{ priv; sk_data }
@ -217,7 +217,7 @@ module Make (Conn : Pg.CONN) = struct
let master_sig = None in
let revoked_sig = None in
let dn_data =
Denom_data.
Denomination.
{
pub;
value;
@ -317,7 +317,7 @@ module Make (Conn : Pg.CONN) = struct
let find_signkey_data pub =
find_signkey pub |> Option.map (fun v -> v.sk_data)
let find_denom_data h_denom =
let find_denomination h_denom =
find_denom h_denom |> Option.map (fun v -> v.dn_data)
let find_denom_section_name h_denom =

View file

@ -11,10 +11,10 @@ module type S = sig
(* 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 get_signkeys_data : unit -> Signkey.t list
val get_denoms_data : unit -> Denomination.t list
val find_signkey_data : eddsa_pub -> Signkey.t option
val find_denomination : denomination_hash -> Denomination.t option
val find_denom_section_name : denomination_hash -> string option
(* - management operations - *)