This commit is contained in:
parent
f69f393abb
commit
bfc759af1c
2 changed files with 12 additions and 2 deletions
|
|
@ -77,13 +77,17 @@ module MK (R : sig
|
|||
|
||||
val bin : r Bin.t
|
||||
end) : sig
|
||||
open Crypto
|
||||
|
||||
type r = R.r
|
||||
type t
|
||||
|
||||
val sign : key:Crypto.EddsaPrivateKey.t -> r -> t
|
||||
val signf : r -> key:EddsaPrivateKey.t -> t
|
||||
val sign : key:EddsaPrivateKey.t -> r -> t
|
||||
val sign' : r -> (string -> EddsaSignature.t) -> t
|
||||
|
||||
(* Ok () on verification success *)
|
||||
val verify : key:Crypto.EddsaPublicKey.t -> t -> r -> (unit, string) result
|
||||
val verify : key:EddsaPublicKey.t -> t -> r -> (unit, string) result
|
||||
val jsont : t Jsont.t
|
||||
val caqti : t Caqti_type.t
|
||||
end = struct
|
||||
|
|
@ -93,7 +97,9 @@ end = struct
|
|||
type t = EddsaSignature.t
|
||||
|
||||
let bin = R.bin
|
||||
let signf = EddsaSignature.mk_signf (Bin.to_string bin)
|
||||
let sign ~key r = EddsaSignature.sign ~key (Bin.to_string bin r)
|
||||
let sign' r signf = signf (Bin.to_string bin r)
|
||||
|
||||
let verify ~key t r =
|
||||
let b = EddsaSignature.verify ~key t ~msg:(Bin.to_string bin r) in
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ end
|
|||
module EddsaSignature : sig
|
||||
type t
|
||||
|
||||
val mk_signf : ('r -> string) -> 'r -> key:EddsaPrivateKey.t -> t
|
||||
val sign : key:EddsaPrivateKey.t -> string -> t
|
||||
val verify : key:EddsaPublicKey.t -> t -> msg:string -> bool
|
||||
val to_octets : t -> string
|
||||
|
|
@ -88,6 +89,9 @@ end = struct
|
|||
binary-encoded objects with just the R and S values *)
|
||||
type t = string
|
||||
|
||||
let mk_signf to_string =
|
||||
fun r ~key -> Mirage_crypto_ec.Ed25519.sign ~key (to_string r)
|
||||
|
||||
(* mirage_crypto: "The result is the concatenation of r and s, as specified in RFC 8032." *)
|
||||
let sign ~key s = Mirage_crypto_ec.Ed25519.sign ~key s
|
||||
let verify ~key s ~msg = Mirage_crypto_ec.Ed25519.verify ~key s ~msg
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue