This commit is contained in:
swrup 2026-02-21 17:13:33 +01:00
parent 9b2865ec1f
commit 4ad4b20119
3 changed files with 22 additions and 22 deletions

View file

@ -273,7 +273,7 @@ module Make (Conn : Pg.CONN) = struct
match opt with
| None -> Error "signkey not found"
| Some _sk ->
let* () = Secmod_eddsa.revoke_key pub in
let* () = Secmod_eddsa.revoke pub in
let+ () =
Pg.insert_signkey_revocation conn pub revoked_sig |> unwrap_err_caqti
in
@ -285,7 +285,7 @@ module Make (Conn : Pg.CONN) = struct
| None -> Error "denomination not found"
| Some sk ->
let pub = sk.pub in
let* () = Secmod_rsa.revoke_key pub in
let* () = Secmod_rsa.revoke pub in
let+ () =
Pg.insert_denomination_revocation conn h_pub revoked_sig
|> unwrap_err_caqti

View file

@ -176,16 +176,16 @@ let keys () =
let sign_secmod s = EddsaSignature.sign ~key:t.sm_key_priv s
let find_key pub =
let find pub =
Hashtbl.find_opt t.ht pub |> Option.to_result ~none:"key not found"
let sign ~pub s =
let+ k = find_key pub in
let+ k = find pub in
let data = EddsaSignature.sign ~key:k.priv s in
data
let delete_key pub =
let* k = find_key pub in
let delete pub =
let* k = find pub in
Hashtbl.remove t.ht k.pub; delete_key_file k
let delete_outdated ~now =
@ -193,19 +193,19 @@ let delete_outdated ~now =
|> List.of_seq
|> List.filter (fun k -> Absolute.compare now k.t2 >= 0)
|> List.map (fun k -> k.pub)
|> list_iter delete_key
|> list_iter delete
let add_key t1 t2 =
let add t1 t2 =
let priv, pub = EddsaPrivateKey.generate () in
let k = { priv; pub; t1; t2 } in
Hashtbl.replace t.ht k.pub k;
()
(* delete and replace *)
let revoke_key pub =
let* k = find_key pub in
let* () = delete_key pub in
add_key k.t1 k.t2; Ok ()
let revoke pub =
let* k = find pub in
let* () = delete pub in
add k.t1 k.t2; Ok ()
(* TODO
- more checks

View file

@ -203,16 +203,16 @@ let keys () =
let sign_secmod s = EddsaSignature.sign ~key:t.sm_key_priv s
let find_key pub =
let find pub =
Hashtbl.find_opt t.ht pub |> Option.to_result ~none:"key not found"
let sign ~pub s =
let+ k = find_key pub in
let+ k = find pub in
let data = RsaSignature.sign ~key:k.priv s in
data
let delete_key pub =
let* k = find_key pub in
let delete pub =
let* k = find pub in
Hashtbl.remove t.ht k.pub; delete_key_file k
let delete_outdated ~now =
@ -220,17 +220,17 @@ let delete_outdated ~now =
|> List.of_seq
|> List.filter (fun k -> Absolute.compare now k.t2 >= 0)
|> List.map (fun k -> k.pub)
|> list_iter delete_key
|> list_iter delete
let add_key section_name t1 t2 =
let add section_name t1 t2 =
let priv, pub = RsaPrivateKey.generate ~bits:Cfg.rsa_keysize () in
let k = { section_name; priv; pub; t1; t2 } in
Hashtbl.replace t.ht k.pub k;
()
(* delete and replace *)
let revoke_key pub =
let* k = find_key pub in
let* () = delete_key pub in
add_key k.section_name k.t1 k.t2;
let revoke pub =
let* k = find pub in
let* () = delete pub in
add k.section_name k.t1 k.t2;
Ok ()