This commit is contained in:
parent
8384c64e3f
commit
83a4e7b766
2 changed files with 30 additions and 6 deletions
|
|
@ -24,11 +24,12 @@ echo "[OK] /management/keys"
|
|||
|
||||
offline_tool download --output $a --url $url"/keys"
|
||||
rsa_pub=$(jq -r '.denominations[0].denoms[0].rsa_pub' $a)
|
||||
h_denom=$(dune exec offline -- hash64 $rsa_pub)
|
||||
offline_tool revoke-denom \
|
||||
--master_key $master_key \
|
||||
--output $b \
|
||||
$h_denom
|
||||
--rsa \
|
||||
$rsa_pub
|
||||
h_denom=$(dune exec offline -- hash64 $rsa_pub)
|
||||
offline_tool upload --input $b --url $url"/management/denominations/"$h_denom"/revoke"
|
||||
echo "[OK] /management/denominations/\$H_DENOM/revoke"
|
||||
|
||||
|
|
|
|||
|
|
@ -128,14 +128,37 @@ let sign_cmd =
|
|||
|
||||
let revoke_denom_cmd =
|
||||
let doc = "Revoke denomination." in
|
||||
let h_denom =
|
||||
let doc = "hash of denomination public key" in
|
||||
let is_rsa_pub =
|
||||
let doc =
|
||||
"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)
|
||||
in
|
||||
Cmd.make (Cmd.info "revoke-denom" ~doc)
|
||||
@@
|
||||
let+ output = output and+ master_key = master_key and+ h_denom = h_denom in
|
||||
revoke_denom ~output ~master_key ~h_denom
|
||||
let+ output = output
|
||||
and+ master_key = master_key
|
||||
and+ is_rsa_pub = is_rsa_pub
|
||||
and+ v = v in
|
||||
let res =
|
||||
match is_rsa_pub with
|
||||
| false -> Ok v
|
||||
| true -> (
|
||||
match B32.decode v with
|
||||
| Error e -> Error e
|
||||
| Ok s ->
|
||||
let h = Hash.DenominationHash.hash s in
|
||||
let s = B32.encode (Hash.DenominationHash.to_octets 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... *)
|
||||
let test_hash64_cmd =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue