packages feed

acme-not-a-joke-wai-0.1.0.0: CHANGELOG.md

# Revision history for acme-not-a-joke-wai

## 0.1.0.0 -- 2026-10-23

* `Acme.NotAJoke.Wai.TlsAlpn01`: TLS-ALPN-01 challenges (RFC-8737) answered
  by a running warp-tls server, without port 80. A `TlsAlpn01Store` of
  challenge certificates, `withTlsAlpn01` and `tlsAlpn01Hooks` to present them
  to the handshakes asking for `acme-tls/1` (over TLS 1.3), `challengeCredential`
  to create them, and `runAcmeDance_tlsalpn01_wai` and `tlsAlpn01Steps` to fill
  and clear the store during an ACME dance. New dependency: `time`. A
  `tls-alpn-01` test-suite.

* First version: `Acme.NotAJoke.Wai.Http01` with a `ChallengeStore`, the
  `http01Middleware` answering `GET /.well-known/acme-challenge/{token}`, and
  `runAcmeDance_http01_wai` and `http01Steps` to fill and clear the store
  during an ACME dance.
* `Acme.NotAJoke.Wai.WarpTLS`: a `CertificateStore` read by warp-tls at each
  TLS handshake (`liveTlsSettings`, `sniCredentials`), so that certificates are
  served without restarting; `installCertificate`, `credentialFromCertificate`,
  `credentialFromPEM` and `loadCredential` to fill it. New dependencies:
  `warp-tls` (3.4.13 or later), `tls`, `crypton` and `crypton-x509`.
* A README telling who initiates which request and where keys, CSRs and
  certificates are stored, and an example program (behind the `example` flag).