.
This commit is contained in:
parent
62dddfe81f
commit
6aed7075bc
1 changed files with 12 additions and 24 deletions
|
|
@ -70,24 +70,19 @@ module Make (Conn : Pg.CONN) = struct
|
|||
let dn_key_fname section_name =
|
||||
Fpath.(Config.secrets_dir / Fmt.str "dn_%s" section_name)
|
||||
|
||||
let database_find_sk conn fname pub =
|
||||
let database_find_sk conn pub =
|
||||
let* opt = Pg.find_signkey conn pub |> unwrap_err_caqti in
|
||||
match opt with
|
||||
| None ->
|
||||
Fmt.error
|
||||
"load_signkey error, no associated data found in database for \
|
||||
signkey `%s`."
|
||||
(Fpath.to_string fname)
|
||||
Fmt.error "secmod failure: a signkey could not be found in database"
|
||||
| Some sk_data -> Ok sk_data
|
||||
|
||||
let database_find_dn conn ~section_name h_pub =
|
||||
let database_find_dn conn h_pub =
|
||||
let* opt = Pg.find_denom conn h_pub |> unwrap_err_caqti in
|
||||
match opt with
|
||||
| None ->
|
||||
Fmt.error
|
||||
"load_denom error no associated metadata found in database for \
|
||||
denomination `%s`."
|
||||
section_name
|
||||
"secmod failure: a denomination could not be found in database"
|
||||
| Some dn_data -> Ok dn_data
|
||||
|
||||
(* TODO clean up *)
|
||||
|
|
@ -98,13 +93,7 @@ module Make (Conn : Pg.CONN) = struct
|
|||
let* sm_key = Data_file.read_eddsa sm_key_fname in
|
||||
let* sk_keys =
|
||||
let l = List.init 1 sk_key_fname in
|
||||
let* l =
|
||||
list_map
|
||||
(fun fname ->
|
||||
let+ opt = Data_file.read_eddsa fname in
|
||||
Option.map (fun priv -> (fname, priv)) opt)
|
||||
l
|
||||
in
|
||||
let* l = list_map (fun fname -> Data_file.read_eddsa fname) l in
|
||||
match opt_list l with Error () -> error_invalid_state | Ok opt -> Ok opt
|
||||
in
|
||||
let* dn_keys =
|
||||
|
|
@ -129,9 +118,9 @@ module Make (Conn : Pg.CONN) = struct
|
|||
(* sk *)
|
||||
let* l =
|
||||
list_map
|
||||
(fun (fname, priv) ->
|
||||
(fun priv ->
|
||||
let pub = EddsaPrivateKey.pub_of_priv priv in
|
||||
let+ sk = database_find_sk conn fname pub in
|
||||
let+ sk = database_find_sk conn pub in
|
||||
((pub, sk), (pub, priv)))
|
||||
sk_keys
|
||||
in
|
||||
|
|
@ -154,7 +143,7 @@ module Make (Conn : Pg.CONN) = struct
|
|||
(* fill dn_section_name_ht *)
|
||||
Hashtbl.replace dn_section_name_ht h_pub section_name;
|
||||
|
||||
let+ dn = database_find_dn conn ~section_name h_pub in
|
||||
let+ dn = database_find_dn conn h_pub in
|
||||
((h_pub, dn), (h_pub, priv)))
|
||||
dn_keys
|
||||
in
|
||||
|
|
@ -224,17 +213,16 @@ module Make (Conn : Pg.CONN) = struct
|
|||
age_restricted= _;
|
||||
} =
|
||||
assert (cipher = `RSA);
|
||||
let open Time in
|
||||
let start = Absolute.of_ptime (Ptime_clock.now ()) in
|
||||
let start = Time.Absolute.of_ptime (Ptime_clock.now ()) in
|
||||
let stamp_start = Timestamp.of_absolute start in
|
||||
let stamp_expire_withdraw =
|
||||
Timestamp.of_absolute @@ Absolute.add start duration_withdraw
|
||||
Timestamp.of_absolute @@ Time.Absolute.add start duration_withdraw
|
||||
in
|
||||
let stamp_expire_deposit =
|
||||
Timestamp.of_absolute @@ Absolute.add start duration_spend
|
||||
Timestamp.of_absolute @@ Time.Absolute.add start duration_spend
|
||||
in
|
||||
let stamp_expire_legal =
|
||||
Timestamp.of_absolute @@ Absolute.add start duration_legal
|
||||
Timestamp.of_absolute @@ Time.Absolute.add start duration_legal
|
||||
in
|
||||
let priv, pub = RsaPrivateKey.generate ~bits:rsa_keysize () in
|
||||
let open Api in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue