filter un-signed signkeys
This commit is contained in:
parent
bf61b306ba
commit
0fed6735db
1 changed files with 18 additions and 19 deletions
|
|
@ -117,8 +117,11 @@ let mk_keys ~db_conn ~sm ~last_issue_date =
|
||||||
List.map denomgroup_of_denomdata denom_data_l
|
List.map denomgroup_of_denomdata denom_data_l
|
||||||
in
|
in
|
||||||
|
|
||||||
let* signkeys =
|
let signkeys =
|
||||||
let+ signkey_data_l = Pg.get_active_signkeys db_conn |> unwrap_err_caqti in
|
(* TODO
|
||||||
|
use database signkey data / verify secmod and database are in sync *)
|
||||||
|
(*let+ signkey_data_l = Pg.get_active_signkeys db_conn |> unwrap_err_caqti in*)
|
||||||
|
let signkey_data_l = Secmod.get_signkeys_data sm in
|
||||||
let signkey_data_l =
|
let signkey_data_l =
|
||||||
List.sort
|
List.sort
|
||||||
(fun a b ->
|
(fun a b ->
|
||||||
|
|
@ -126,7 +129,7 @@ let mk_keys ~db_conn ~sm ~last_issue_date =
|
||||||
Stdlib.compare a.stamp_start b.stamp_start)
|
Stdlib.compare a.stamp_start b.stamp_start)
|
||||||
signkey_data_l
|
signkey_data_l
|
||||||
in
|
in
|
||||||
List.map
|
List.filter_map
|
||||||
(fun Signkey_data.
|
(fun Signkey_data.
|
||||||
{
|
{
|
||||||
pub;
|
pub;
|
||||||
|
|
@ -136,12 +139,12 @@ let mk_keys ~db_conn ~sm ~last_issue_date =
|
||||||
master_sig;
|
master_sig;
|
||||||
revoked_sig= _;
|
revoked_sig= _;
|
||||||
} ->
|
} ->
|
||||||
let master_sig =
|
match master_sig with
|
||||||
match master_sig with
|
| None -> None
|
||||||
| None -> Fmt.failwith "signkey_data without master_sig"
|
| Some master_sig ->
|
||||||
| Some v -> v
|
Some
|
||||||
in
|
SignKey.
|
||||||
SignKey.{ key= pub; stamp_start; stamp_expire; stamp_end; master_sig })
|
{ key= pub; stamp_start; stamp_expire; stamp_end; master_sig })
|
||||||
signkey_data_l
|
signkey_data_l
|
||||||
in
|
in
|
||||||
|
|
||||||
|
|
@ -155,17 +158,13 @@ let mk_keys ~db_conn ~sm ~last_issue_date =
|
||||||
(* Compact EdDSA signature (binary-only) over the
|
(* Compact EdDSA signature (binary-only) over the
|
||||||
contatentation of all of the master_sigs (in reverse
|
contatentation of all of the master_sigs (in reverse
|
||||||
chronological order by group) in the arrays under "denominations". *)
|
chronological order by group) in the arrays under "denominations". *)
|
||||||
let l =
|
let hc =
|
||||||
List.map
|
denom_data_l
|
||||||
(fun v ->
|
|> List.filter_map (fun v -> v.Denom_data.master_sig)
|
||||||
match v.Denom_data.master_sig with
|
|> List.map Bin_sig.DenominationKeyValidity.to_octets
|
||||||
| None -> Fmt.failwith "denom_data without master_sig"
|
|> String.concat ""
|
||||||
| Some v -> v)
|
|> Bin_type.Hash_64.hash
|
||||||
denom_data_l
|
|
||||||
in
|
in
|
||||||
let l = List.map (fun v -> Bin_sig.DenominationKeyValidity.to_octets v) l in
|
|
||||||
let data = String.concat "" l in
|
|
||||||
let hc = Bin_type.Hash_64.hash data in
|
|
||||||
let open Bin_sig.ExchangeKeySet in
|
let open Bin_sig.ExchangeKeySet in
|
||||||
sign_f
|
sign_f
|
||||||
~f:(Secmod.sign_with_signkey sm ~pub:exchange_pub)
|
~f:(Secmod.sign_with_signkey sm ~pub:exchange_pub)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue