package x509

  1. Overview
  2. Docs

RSA private key pem encoding and decoding

RSA private keys as defined in PKCS 8: decoding and encoding in PEM format

type t = [
  1. | `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).

OCaml

Innovation. Community. Security.