This commit is contained in:
swrup 2026-02-25 18:55:23 +01:00
parent 8384c64e3f
commit 83a4e7b766
2 changed files with 30 additions and 6 deletions

View file

@ -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"

View file

@ -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 =