type priv = | Rsa_priv of Mirage_crypto_pk.Rsa.priv| Ed25519_priv of Mirage_crypto_ec.Ed25519.priv
type pub = | Rsa_pub of Mirage_crypto_pk.Rsa.pub| Ed25519_pub of Mirage_crypto_ec.Ed25519.pub
val pub_eq : pub -> pub -> boolval sshname : pub -> stringval comptible_alg : pub -> string -> booltype alg = | Rsa_sha1| Rsa_sha256| Rsa_sha512| Ed25519
val hash : alg -> [> `SHA1 | `SHA256 | `SHA512 ]val alg_of_string : string -> (alg, string) Stdlib.resultval alg_to_string : alg -> stringval preferred_algs : alg listval algs_of_typ : [< `Ed25519 | `Rsa ] -> alg listval priv_to_typ : priv -> [> `Ed25519 | `Rsa ]val alg_matches : [< `Ed25519 | `Rsa ] -> alg -> boolval signature_equal : Cstruct.t -> Cstruct.t -> boolval sign : alg -> priv -> string -> stringval verify : alg -> pub -> unsigned:string -> signed:string -> bool