package dns-certify
MirageOS let's encrypt certificate retrieval
Install
Dune Dependency
Authors
Maintainers
Sources
dns-v4.3.1.tbz
sha256=ffd358ea2d1174918435e3d28eb7e86f6fe863b26b62145fc4e1ab715e7c7c3d
sha512=64e7cb4db37ba23d82fbcb0d79977d2a3b6b274b126b82c45f9a63a319b50f4a3afb5aa8717b702f2dc9b8bdfaac4f809b0b7c8cdb6448c6ce1518f4c2898971
doc/dns-certify.mirage/Dns_certify_mirage/Make/index.html
Module Dns_certify_mirage.Make
Parameters
module R : Mirage_random.S
module P : Mirage_clock.PCLOCK
module T : Mirage_time.S
module S : Mirage_stack.V4
Signature
val retrieve_certificate :
?ca:[ `Production | `Staging ] ->
S.t ->
dns_key:string ->
hostname:[ `host ] Domain_name.t ->
?additional_hostnames:[ `host ] Domain_name.t list ->
?key_seed:string ->
S.TCPV4.ipaddr ->
int ->
(Tls.Config.own_cert, [ `Msg of string ]) result Lwt.t
retrieve_certificate ~ca stack ~dns_key ~hostname ~key_seed server_ip port
generates a RSA private key (using the key_seed
), 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). Has let's encrypt certificates (expiry March 2021) hardcoded.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page