offline-tool: clean up revoke-denom
This commit is contained in:
parent
9c9414e96b
commit
cbae1c773a
2 changed files with 16 additions and 37 deletions
|
|
@ -26,12 +26,11 @@ echo "[OK] /management/keys"
|
||||||
|
|
||||||
offline_tool download --output $a --url $url"/keys"
|
offline_tool download --output $a --url $url"/keys"
|
||||||
rsa_pub=$(jq -r '.denominations[0].denoms[0].rsa_pub' $a)
|
rsa_pub=$(jq -r '.denominations[0].denoms[0].rsa_pub' $a)
|
||||||
|
h_denom=$(dune exec offline -- compute-denomination-hash $rsa_pub)
|
||||||
offline_tool revoke-denom \
|
offline_tool revoke-denom \
|
||||||
--master_key $master_key \
|
--master_key $master_key \
|
||||||
--output $b \
|
--output $b \
|
||||||
--rsa \
|
$h_denom
|
||||||
$rsa_pub
|
|
||||||
h_denom=$(dune exec offline -- denomination-hash $rsa_pub)
|
|
||||||
offline_tool upload --input $b --url $url"/management/denominations/"$h_denom"/revoke"
|
offline_tool upload --input $b --url $url"/management/denominations/"$h_denom"/revoke"
|
||||||
echo "[OK] /management/denominations/\$H_DENOM/revoke"
|
echo "[OK] /management/denominations/\$H_DENOM/revoke"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -134,48 +134,28 @@ let sign_cmd =
|
||||||
|
|
||||||
let revoke_denom_cmd =
|
let revoke_denom_cmd =
|
||||||
let doc = "Revoke denomination." in
|
let doc = "Revoke denomination." in
|
||||||
let is_rsa_pub =
|
let h_denom =
|
||||||
let doc =
|
let doc = "hash of RSA denomination" in
|
||||||
"interpret input string as a RSA public key (in Crockford-base32) \
|
|
||||||
instead of a denomination hash"
|
|
||||||
in
|
|
||||||
Arg.(value & flag & info [ "rsa" ] ~doc)
|
|
||||||
in
|
|
||||||
let v =
|
|
||||||
let doc = "hash of denomination (or RSA public key if --rsa is set)" in
|
|
||||||
Arg.(required & pos 0 (some string) None & info [] ~doc)
|
Arg.(required & pos 0 (some string) None & info [] ~doc)
|
||||||
in
|
in
|
||||||
Cmd.make (Cmd.info "revoke-denom" ~doc)
|
Cmd.make (Cmd.info "revoke-denom" ~doc)
|
||||||
@@
|
@@
|
||||||
let+ output = output
|
let+ output = output and+ master_key = master_key and+ h_denom = h_denom in
|
||||||
and+ master_key = master_key
|
revoke_denom ~output ~master_key ~h_denom
|
||||||
and+ is_rsa_pub = is_rsa_pub
|
|
||||||
and+ v = v in
|
|
||||||
let res =
|
|
||||||
match is_rsa_pub with
|
|
||||||
| false -> Ok v
|
|
||||||
| true -> (
|
|
||||||
match Rsa.pub_of_b32 v with
|
|
||||||
| Error e -> Error e
|
|
||||||
| Ok rsa_pub ->
|
|
||||||
let h = Hash.DenominationHash.hash_of_rsa rsa_pub in
|
|
||||||
let s = Hash.DenominationHash.to_b32 h in
|
|
||||||
Ok s)
|
|
||||||
in
|
|
||||||
match res with
|
|
||||||
| Error e -> Error e
|
|
||||||
| Ok h_denom -> revoke_denom ~output ~master_key ~h_denom
|
|
||||||
|
|
||||||
(* just for tests... *)
|
(* denomination-hash is not in /keys response
|
||||||
let test_denomination_hash_cmd =
|
so for revoke-denom tests, we need to be able to compute it from a rsa-pub *)
|
||||||
|
let compute_denomination_hash_cmd =
|
||||||
let doc = "compute denomination hash (of rsa)" in
|
let doc = "compute denomination hash (of rsa)" in
|
||||||
let rsa_pub = Arg.(required & pos 0 (some rsa_pub) None & info []) in
|
let rsa_pub = Arg.(required & pos 0 (some rsa_pub) None & info []) in
|
||||||
Cmd.make (Cmd.info "denomination-hash" ~doc)
|
Cmd.make (Cmd.info "compute-denomination-hash" ~doc)
|
||||||
@@
|
@@
|
||||||
let+ rsa_pub = rsa_pub in
|
let+ rsa_pub = rsa_pub in
|
||||||
let h = Hash.DenominationHash.hash_of_rsa rsa_pub in
|
rsa_pub
|
||||||
let s = Hash.DenominationHash.to_b32 h in
|
|> Hash.DenominationHash.hash_of_rsa
|
||||||
Fmt.pr "%s@." s; Ok ()
|
|> Hash.DenominationHash.to_b32
|
||||||
|
|> Fmt.pr "%s@.";
|
||||||
|
Ok ()
|
||||||
|
|
||||||
let revoke_signkey_cmd =
|
let revoke_signkey_cmd =
|
||||||
let doc = "Revoke signkey." in
|
let doc = "Revoke signkey." in
|
||||||
|
|
@ -369,7 +349,7 @@ let cli =
|
||||||
disable_wire_cmd;
|
disable_wire_cmd;
|
||||||
drain_cmd;
|
drain_cmd;
|
||||||
(* - *)
|
(* - *)
|
||||||
test_denomination_hash_cmd;
|
compute_denomination_hash_cmd;
|
||||||
]
|
]
|
||||||
|
|
||||||
let main () = Cmd.eval_result cli
|
let main () = Cmd.eval_result cli
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue