package dns-certify

  1. Overview
  2. Docs
MirageOS let's encrypt certificate retrieval

Install

Dune Dependency

Authors

Maintainers

Sources

dns-v5.0.0.tbz
sha256=ef93435407955a46e51e3be857a1b00a6765ec3b673d4a859a9536c7e3365111
sha512=083da787d0a0e08eefe1f7cee290fa9c0e3faab6bf8162b9241c6280a3f98b91f63dc3f9c22fccb4f9dc5d51e29e03830cc146bc12e308260e2fdf1de41e3416

doc/dns-certify.mirage/Dns_certify_mirage/Make/index.html

Module Dns_certify_mirage.MakeSource

Parameters

module T : Mirage_time.S

Signature

Sourceval retrieve_certificate : S.t -> dns_key:string -> hostname:[ `host ] Domain_name.t -> ?additional_hostnames:[ `raw ] Domain_name.t list -> ?key_type:[ `RSA | `ED25519 | `P256 | `P384 | `P521 ] -> ?key_data:string -> ?key_seed:string -> ?bits:int -> S.TCP.ipaddr -> int -> (X509.Certificate.t list * X509.Private_key.t, [ `Msg of string ]) result Lwt.t

retrieve_certificate stack ~dns_key ~hostname ~key_type ~key_data ~key_seed ~bits server_ip port generates a private key (using key_type, key_data, key_seed, and bits), a certificate signing request for the given hostname and additional_hostnames, and sends server_ip an nsupdate (DNS-TSIG with dns_key) with the csr as TLSA record, awaiting for a matching certificate as TLSA record. Requires a service that interacts with let's encrypt to transform the CSR into a signed certificate. If something fails, an exception (via Lwt.fail) is raised. This is meant for unikernels that require a valid TLS certificate before they can start their service (i.e. most web servers, mail servers).

OCaml

Innovation. Community. Security.