Module X509.Private_key

RSA private key pem encoding and decoding

type t = [
| `RSA of Mirage_crypto_pk.Rsa.priv
]

The polymorphic variant of private keys.

val decode_der : ?⁠sloppy:bool -> Cstruct.t -> (t[> Rresult.R.msg ]) Rresult.result

decode_der ~sloppy der is t, where the private key of der is extracted. If sloppy is provided and true (default: false), the key will be reconstructed from its prime numbers and public exponent. It must be in PKCS8 (RFC 5208, Section 5) PrivateKeyInfo structure.

val encode_der : t -> Cstruct.t

encode_der key is der, the encoded private key as PKCS8 (RFC 5208, Section 5) PrivateKeyInfo structure.

val decode_pem : ?⁠sloppy:bool -> Cstruct.t -> (t[> Rresult.R.msg ]) Rresult.result

decode_pem ~sloppy pem is t, where the private key of pem is extracted. If sloppy is provided and true (default: false), the key will be reconstructed from its prime numbers and public exponent. Both RSA PRIVATE KEY and PRIVATE KEY stanzas are supported.

val encode_pem : t -> Cstruct.t

encode_pem key is pem, the encoded private key (using PRIVATE KEY).