encode/decode rsapublickey
This commit is contained in:
parent
e72ed3e972
commit
d5abae41b6
2 changed files with 53 additions and 73 deletions
12
src/types.ml
12
src/types.ml
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue