certd/packages/core/acme-client/examples
GitHub Actions Bot 162e10909b 🔱: [acme] sync upgrade with 7 commits [trident-sync]
Small crypto docs fix 2
Small crypto docs fix
Bump v5.3.1
Discourage use of cert subject common name, examples and docs
Style refactor docs and examples
Bump dependencies
2024-05-23 19:24:12 +00:00
..
dns-01 🔱: [acme] sync upgrade with 7 commits [trident-sync] 2024-05-23 19:24:12 +00:00
http-01 🔱: [acme] sync upgrade with 7 commits [trident-sync] 2024-05-23 19:24:12 +00:00
tls-alpn-01 🔱: [acme] sync upgrade with 7 commits [trident-sync] 2024-05-23 19:24:12 +00:00
README.md 🔱: [acme] sync upgrade with 4 commits [trident-sync] 2024-02-01 19:24:13 +00:00
api.js 🔱: [acme] sync upgrade with 7 commits [trident-sync] 2024-05-23 19:24:12 +00:00
auto.js 🔱: [acme] sync upgrade with 7 commits [trident-sync] 2024-05-23 19:24:12 +00:00
fallback.crt 🔱: [acme] sync upgrade with 4 commits [trident-sync] 2024-02-01 19:24:13 +00:00
fallback.key 🔱: [acme] sync upgrade with 4 commits [trident-sync] 2024-02-01 19:24:13 +00:00

README.md

Disclaimer

These examples should not be used as is for any production environment, as they are just proof of concepts meant for testing and to get you started. The examples are naively written and purposefully avoids important topics since they will be specific to your application and how you choose to use acme-client, like for example:

  1. Concurrency control
    • If implementing on-demand certificate generation
    • What happens when multiple requests hit your domain at the same time?
    • Ensure your application does not place multiple cert orders for the same domain at the same time by implementing some sort of exclusive lock
  2. Domain allow lists
    • If implementing on-demand certificate generation
    • What happens when someone manipulates the ServerName or Host header to your service?
    • Ensure your application is unable to place certificate orders for domains you do not intend, as this can quickly rate limit your account and cause a DoS
  3. Clustering
    • If using acme-client across a cluster of servers
    • Ensure challenge responses are known to all servers in your cluster, perhaps using a database or shared storage
  4. Certificate and key storage
    • Where and how should the account key be stored and read?
    • Where and how should certificates and cert keys be stored and read?
    • How and when should they be renewed?