encode/decode rsapublickey

This commit is contained in:
swrup 2025-10-18 15:28:04 +02:00
parent e72ed3e972
commit d5abae41b6
2 changed files with 53 additions and 73 deletions

View file

@ -132,19 +132,15 @@ end = struct
end
module RsaPublicKey = struct
type t = Mirage_crypto_pk.Rsa.pub
open Binary_formats.RsaPublicKey
let to_octets ({ n; e } : Mirage_crypto_pk.Rsa.pub) =
let open Binary_formats.GNUNET_RsaPublicKey in
let header = { n_len= Z.size n; e_len= Z.size e } in
let v = { header; n; e } in
let s = Bin.to_string bin v in
s
type t = Mirage_crypto_pk.Rsa.pub
let of_b32 s =
let open Syntax in
let open Binary_formats.RsaPublicKey in
let* s = B32.decode s in
let* v = Util.bin_of_string Binary_formats.GNUNET_RsaPublicKey.bin s in
let* v = of_octets s in
let+ v = Mirage_crypto_pk.Rsa.pub ~n:v.n ~e:v.e |> unwrap_err_msg in
v