# Module Netx509_pubkey.Key

    module Key: sig .. end

These OIDs are used when storing public keys

    val rsa_key : Netx509_pubkey.oid

alias PKCS-1. RFC-3279, RFC-3447

    val rsassa_pss_key : Netx509_pubkey.oid

RSASSA-PSS. RFC-4055, RFC-3447

    val rsaes_oaep_key : Netx509_pubkey.oid

RSAES-OAEP. RFC-4055, RFC-3447

    val dsa_key : Netx509_pubkey.oid

DSA. RFC-3279

    val dh_key : Netx509_pubkey.oid

DH. RFC-3279

    val ec_key : Netx509_pubkey.oid

All EC variants (ECDSA, ECDH, ECMQV). RFC-3279

    val ecdh_key : Netx509_pubkey.oid

EC restricted to ECDH (RFC-5480)

    val ecmqv_key : Netx509_pubkey.oid

EC restricted to ECMQV (RFC-5480)

    val kea_key : Netx509_pubkey.oid

KEA. RFC-3279

    val eddsa_key : Netx509_pubkey.oid

EDDSA. draft-josefsson-pkix-eddsa

    val catalog : (string * string list * string * Netx509_pubkey.oid) list

`(name, aliases, privkey_name, oid)`

    val private_key_format_of_key : Netx509_pubkey.oid -> string

Get the type of private key for a public key OID

It is possible to derive public keys from `rsa_key` format so that they can be used with the RSASSA-PSS and RSAES-OAEP algorithms:

    val create_rsassa_pss_alg_id : hash_function:Netx509_pubkey.hash_function ->
           maskgen_function:Netx509_pubkey.maskgen_function ->
           salt_length:int -> unit -> Netx509_pubkey.alg_id

`create_rsassa_pss_alg_id ...` : Creates an algorithm identifier for RSASSA-PSS.

    val create_rsassa_pss_key : hash_function:Netx509_pubkey.hash_function ->
           maskgen_function:Netx509_pubkey.maskgen_function ->
           salt_length:int -> Netx509_pubkey.pubkey -> Netx509_pubkey.pubkey

Derives a public key that is specific for RSASSA-PSS from an RSA public key.

    val create_rsaes_oaep_alg_id : hash_function:Netx509_pubkey.hash_function ->
           maskgen_function:Netx509_pubkey.maskgen_function ->
           psource_function:string -> unit -> Netx509_pubkey.alg_id

`create_rsaep_oaep_alg_id ...` : Creates an algorithm identifier for RSAES-OAEP.

    val create_rsaes_oaep_key : hash_function:Netx509_pubkey.hash_function ->
           maskgen_function:Netx509_pubkey.maskgen_function ->
           psource_function:string -> Netx509_pubkey.pubkey -> Netx509_pubkey.pubkey

Derives a public key that is specific for RSAES-OAEP from an RSA public key.