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
|
val bin : r Bin.t
|
||||||
end) : sig
|
end) : sig
|
||||||
|
open Crypto
|
||||||
|
|
||||||
type r = R.r
|
type r = R.r
|
||||||
type t
|
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 *)
|
(* 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 jsont : t Jsont.t
|
||||||
val caqti : t Caqti_type.t
|
val caqti : t Caqti_type.t
|
||||||
end = struct
|
end = struct
|
||||||
|
|
@ -93,7 +97,9 @@ end = struct
|
||||||
type t = EddsaSignature.t
|
type t = EddsaSignature.t
|
||||||
|
|
||||||
let bin = R.bin
|
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 ~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 verify ~key t r =
|
||||||
let b = EddsaSignature.verify ~key t ~msg:(Bin.to_string bin r) in
|
let b = EddsaSignature.verify ~key t ~msg:(Bin.to_string bin r) in
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,7 @@ end
|
||||||
module EddsaSignature : sig
|
module EddsaSignature : sig
|
||||||
type t
|
type t
|
||||||
|
|
||||||
|
val mk_signf : ('r -> string) -> 'r -> key:EddsaPrivateKey.t -> t
|
||||||
val sign : key:EddsaPrivateKey.t -> string -> t
|
val sign : key:EddsaPrivateKey.t -> string -> t
|
||||||
val verify : key:EddsaPublicKey.t -> t -> msg:string -> bool
|
val verify : key:EddsaPublicKey.t -> t -> msg:string -> bool
|
||||||
val to_octets : t -> string
|
val to_octets : t -> string
|
||||||
|
|
@ -88,6 +89,9 @@ end = struct
|
||||||
binary-encoded objects with just the R and S values *)
|
binary-encoded objects with just the R and S values *)
|
||||||
type t = string
|
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." *)
|
(* 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 sign ~key s = Mirage_crypto_ec.Ed25519.sign ~key s
|
||||||
let verify ~key s ~msg = Mirage_crypto_ec.Ed25519.verify ~key s ~msg
|
let verify ~key s ~msg = Mirage_crypto_ec.Ed25519.verify ~key s ~msg
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue