better secmod
This commit is contained in:
parent
f69f393abb
commit
bf45cdc6b1
6 changed files with 104 additions and 54 deletions
|
|
@ -77,13 +77,19 @@ 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 sign_f : f:(string -> eddsa_sig) -> r -> t
|
||||
|
||||
val verify_f :
|
||||
f:(eddsa_sig -> msg:string -> (unit, string) result) ->
|
||||
t ->
|
||||
r ->
|
||||
(unit, string) result
|
||||
|
||||
(* Ok () on verification success *)
|
||||
val verify : key:Crypto.EddsaPublicKey.t -> t -> r -> (unit, string) result
|
||||
val jsont : t Jsont.t
|
||||
val caqti : t Caqti_type.t
|
||||
end = struct
|
||||
|
|
@ -92,15 +98,8 @@ end = struct
|
|||
type r = R.r
|
||||
type t = EddsaSignature.t
|
||||
|
||||
let bin = R.bin
|
||||
let sign ~key r = EddsaSignature.sign ~key (Bin.to_string bin r)
|
||||
|
||||
let verify ~key t r =
|
||||
let b = EddsaSignature.verify ~key t ~msg:(Bin.to_string bin r) in
|
||||
match b with
|
||||
| false -> Error "signature verification failure"
|
||||
| true -> Ok ()
|
||||
|
||||
let sign_f ~f r = f (Bin.to_string R.bin r)
|
||||
let verify_f ~f t r = f t ~msg:(Bin.to_string R.bin r)
|
||||
let jsont = EddsaSignature.jsont
|
||||
let caqti : EddsaSignature.t Caqti_type.t = EddsaSignature.caqti
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue