Tauri System administrator documentation Documentation administrateur système

TLS & certificatesTLS & certificats

Tauri includes an ACME client, acme, that obtains, installs and renews Let's Encrypt certificates (HTTP-01 challenge, P-256 keys). The HTTPS server serves two kinds of certificates: the default certificate — the machine's identity — and one per-site certificate attached to each virtual host and chosen by SNI. For hosting accounts, compteadm does all of this (see Hosting). Tauri intègre un client ACME, acme, qui obtient, installe et renouvelle des certificats Let's Encrypt (challenge HTTP-01, clés P-256). Le serveur HTTPS sert deux sortes de certificats : le certificat par défaut — l'identité de la machine — et un certificat par site, attaché à chaque hôte virtuel et choisi par SNI. Pour les comptes d'hébergement, compteadm fait tout cela (voir Hébergement).

1. PrerequisitesPrérequis

Public reachability, DNS firstJoignabilité publique, DNS d'abord

HTTP-01 only works if Let's Encrypt can fetch http://<domain>/.well-known/acme-challenge/… from the Internet: under QEMU/slirp there is no inbound traffic. Check the DNS before every request: failed validations count against the ACME account and can block the renewals of every site it serves. Le HTTP-01 ne fonctionne que si Let's Encrypt peut récupérer http://<domaine>/.well-known/acme-challenge/… depuis Internet : sous QEMU/slirp il n'y a pas de flux entrant. Vérifiez le DNS avant chaque demande : les validations échouées sont décomptées sur le compte ACME et peuvent bloquer les renouvellements de tous les sites qu'il sert.

2. Staging or productionStaging ou production

By default the client talks to Let's Encrypt staging — fine for testing, but its certificates are not trusted by browsers. The environment is chosen once, when the account is registered, and remembered by every later command: Par défaut, le client parle à l'environnement staging de Let's Encrypt — pratique pour tester, mais ses certificats ne sont pas reconnus par les navigateurs. L'environnement est choisi une fois, à l'enregistrement du compte, et retenu par toutes les commandes suivantes :

acme register you@example.com https://acme-v02.api.letsencrypt.org/directory

register --force recreates the account (the previous one is lost). register --force recrée le compte (le précédent est perdu).

3. A certificate for a websiteUn certificat pour un site

acme issue www.example.com example.com  # HTTP-01 for every name; one certificate (SAN)# HTTP-01 pour chaque nom ; un seul certificat (SAN)
acme deploy-vhost www.example.com       # attach it to its virtual host (SNI), live# l'attacher à son hôte virtuel (SNI), à chaud

issue never activates anything. deploy-vhost needs an existing virtual host (vhostadm add), writes the certificate under c:/user/root/tls/d/, records it on the virtual host and makes the servers reload — no restart, no interruption. For a hosting account, compteadm cert <compte> runs both steps after checking the DNS, and leaves a copy in the account's c:/user/<compte>/tls/ mailbox (never served) so the customer can keep it; a certificate the customer drops there is taken over with acme importe-vhost <domaine>. issue n'active jamais rien. deploy-vhost exige un hôte virtuel existant (vhostadm add), écrit le certificat sous c:/user/root/tls/d/, l'enregistre sur l'hôte virtuel et fait recharger les serveurs — sans redémarrage ni coupure. Pour un compte d'hébergement, compteadm cert <compte> enchaîne les deux étapes après avoir vérifié le DNS, et laisse une copie dans la boîte c:/user/<compte>/tls/ du compte (jamais servie) pour que le client la conserve ; un certificat que le client y dépose est repris par acme importe-vhost <domaine>.

4. The default certificateLe certificat par défaut

The default certificate is served to every connection that matches no virtual host (no SNI, access by IP address) and by FTPS. It is the machine's identity: Le certificat par défaut est servi à toute connexion qui ne correspond à aucun hôte virtuel (sans SNI, accès par adresse IP) et par FTPS. C'est l'identité de la machine :

acme deploy <nom> [-f]        # install an issued certificate as the default# installer un certificat émis comme défaut
acme issue <adresse-ip>       # certificate for an IP address (160 h validity)# certificat d'adresse IP (validité 160 h)
acme autosigne [-f] [<nom>]   # self-signed identity for this machine# identité auto-signée de cette machine
acme montre-demande <nom|ip>  # dry run: show the request, no network# à blanc : montre la demande, sans réseau
The default is guardedLe défaut est gardé

deploy refuses to take the default certificate from another name without -f: using it for a site would replace the machine's identity (access by IP, FTPS). For a site, use deploy-vhost. An IP-address certificate lasts only 160 hours (Let's Encrypt shortlived profile): the daily renewal handles it with a 3-day margin — keep that task running. deploy refuse de prendre le certificat par défaut à un autre nom sans -f : l'employer pour un site remplacerait l'identité de la machine (accès par IP, FTPS). Pour un site, utilisez deploy-vhost. Un certificat d'adresse IP ne dure que 160 heures (profil shortlived de Let's Encrypt) : le renouvellement quotidien le prend avec 3 jours de marge — gardez cette tâche active.

5. Where the files areOù sont les fichiers

PathCheminContentContenu
c:/user/root/acme/ACME account: key, account URL, chosen directory.Compte ACME : clé, URL du compte, directory choisi.
c:/user/root/acme/certs/<nom>.crt, .key, .issuedIssued chain (PEM), raw P-256 key, issue date and names.Chaîne émise (PEM), clé P-256 brute, date et noms d'émission.
c:/user/root/tls/cert.der, chain.der, key.binDefault certificate served by HTTPS and FTPS.Certificat par défaut servi par HTTPS et FTPS.
c:/user/root/tls/d/Per-site certificates, referenced by the virtual hosts.Certificats par site, référencés par les hôtes virtuels.
c:/user/<compte>/tls/The account's certificate mailbox (mode 700, never served).Boîte aux certificats du compte (mode 700, jamais servie).

Formats expected by the servers: raw 32-byte P-256 private key (not PEM), X.509 certificates in DER. Only P-256 is supported (no RSA, no P-384). acme converts what Let's Encrypt returns. Formats attendus par les serveurs : clé privée P-256 brute de 32 octets (pas de PEM), certificats X.509 en DER. Seule la courbe P-256 est prise en charge (ni RSA, ni P-384). acme convertit ce que rend Let's Encrypt.

6. RenewalRenouvellement

Automatic renewal is wired in: a cerbere task runs acme renew-all every day at 03:17. It re-issues every certificate 60 days old or more (Let's Encrypt certificates last 90 days), reinstalls it where it was — default or virtual host — and reloads the servers live. It does nothing until an account is registered and a certificate issued. Le renouvellement automatique est câblé : une tâche cerbere lance acme renew-all chaque jour à 03:17. Elle ré-émet tout certificat de 60 jours ou plus (ceux de Let's Encrypt durent 90 jours), le réinstalle là où il était — défaut ou hôte virtuel — et recharge les serveurs à chaud. Elle ne fait rien tant qu'aucun compte n'est enregistré ni aucun certificat émis.

acme renew-all    # what the daily task runs# ce que lance la tâche quotidienne
acme renew <nom>  # re-issue only (≥ 60 days); then deploy or deploy-vhost# ré-émet seulement (≥ 60 jours) ; puis deploy ou deploy-vhost

NextSuite

Next: PHP & applications, and Security. Ensuite : PHP & applications, et Sécurité.