more /management
This commit is contained in:
parent
85ddb8194f
commit
a5f726ce9d
6 changed files with 68 additions and 14 deletions
|
|
@ -1,13 +1,6 @@
|
|||
(*open Types*)
|
||||
open Api_types
|
||||
|
||||
(* TODO
|
||||
- take secmod devices as param
|
||||
- hash stuff
|
||||
what is the hash algorithm
|
||||
is it hash'ed then base32'ed in xxxP?
|
||||
... *)
|
||||
|
||||
let mk_future_denom denom_key_signf
|
||||
({
|
||||
section_name;
|
||||
|
|
@ -64,7 +57,7 @@ let mk_future_denom denom_key_signf
|
|||
denom_secmod_sig;
|
||||
}
|
||||
|
||||
let mk_future_sign_key signkey_signf
|
||||
let mk_future_signkey signkey_signf
|
||||
({ pub; sign= _; stamp_start; stamp_expire; stamp_end } : Secmod_keys.t) =
|
||||
let signkey_secmod_sig =
|
||||
let open Binary_formats in
|
||||
|
|
@ -92,9 +85,37 @@ let mk_future_sign_key signkey_signf
|
|||
signkey_secmod_sig;
|
||||
}
|
||||
|
||||
let keys req _server _env =
|
||||
let mk_future_keys_response ~signkey ~online_key ~denom_key ~denominations =
|
||||
let future_denoms =
|
||||
(* todo: "only those lacking a master signature" *)
|
||||
List.map (mk_future_denom denom_key.Secmod_keys.sign) denominations
|
||||
in
|
||||
let future_signkeys =
|
||||
(* todo: "only those lacking a master signature" *)
|
||||
List.map (mk_future_signkey signkey.Secmod_keys.sign) [ online_key ]
|
||||
in
|
||||
let master_pub = Config.Exchange.master_public_key in
|
||||
let denom_secmod_public_key = denom_key.pub in
|
||||
let signkey_secmod_public_key = signkey.pub in
|
||||
FutureKeysResponse.
|
||||
{
|
||||
future_denoms;
|
||||
future_signkeys;
|
||||
master_pub;
|
||||
denom_secmod_public_key;
|
||||
signkey_secmod_public_key;
|
||||
}
|
||||
|
||||
let keys req server _env =
|
||||
let open Vif.Response in
|
||||
let open Syntax in
|
||||
let signkey = Vif.Server.device Devices.signkey server in
|
||||
let online_key = Vif.Server.device Devices.online_key server in
|
||||
let denom_key = Vif.Server.device Devices.denom_key server in
|
||||
let denominations = Vif.Server.device Devices.denominations server in
|
||||
let _v =
|
||||
mk_future_keys_response ~signkey ~online_key ~denom_key ~denominations
|
||||
in
|
||||
let* () = with_string req "keys .. \n" in
|
||||
let* () = add ~field:"content-type" "application/json" in
|
||||
respond `OK
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue