Tous les guides Guide

Comment fonctionne GetHTTPS

GetHTTPS est un client ACME dans le navigateur qui émet des certificats HTTPS gratuits de Let’s Encrypt — sans aucun composant côté serveur.

L’architecture

Les clients ACME traditionnels comme certbot et acme.sh s’exécutent sur votre serveur. Ils nécessitent un accès shell, des permissions root et souvent une tâche cron pour renouveler les certificats.

GetHTTPS adopte une approche différente : tout s’exécute dans l’onglet de votre navigateur. Votre clé privée est générée localement avec la Web Crypto API et ne quitte jamais la page.

Comment fonctionne le processus

  1. Génération de la clé de compte — Une paire de clés ECDSA P-256 est créée dans le navigateur en utilisant crypto.subtle.generateKey(). Cette clé identifie votre compte ACME.

  2. Enregistrement du compte — La clé publique est enregistrée auprès de l’API ACME de Let’s Encrypt. Chaque requête est signée avec JWS (JSON Web Signature).

  3. Création de la commande — Vous spécifiez quels noms d’hôte le certificat doit couvrir. Let’s Encrypt retourne un ensemble de challenges.

  4. Accomplissement de la challenge — Pour chaque nom d’hôte, vous accomplissez soit une challenge HTTP-01 (placer un fichier sur votre serveur) soit une challenge DNS-01 (ajouter un enregistrement TXT).

  5. Vérification préalable — Avant de soumettre à Let’s Encrypt, GetHTTPS vérifie votre configuration de challenge depuis l’internet public. Cela détecte les erreurs de frappe avant qu’elles ne consomment une tentative de limite de débit.

  6. Émission du certificat — Une fois les challenges réussies, une paire de clés de certificat séparée est générée, un CSR (Certificate Signing Request) est construit et la commande est finalisée. Let’s Encrypt retourne la chaîne de certificats signée.

  7. Téléchargement — Vous téléchargez privkey.pem, cert.pem, chain.pem et fullchain.pem et les déployez sur votre serveur.

Modèle de sécurité

GetHTTPS est conçu pour que même nous ne puissions pas accéder à vos clés privées.

Les clés privées ne quittent jamais le navigateur

Chaque clé — clé de compte et clé de certificat — est générée en utilisant la Web Crypto API du navigateur (crypto.subtle.generateKey()). Le matériel de clé n’existe que dans la mémoire JavaScript de votre onglet. Il n’est jamais sérialisé sur le disque, jamais envoyé sur le réseau et jamais accessible à gethttps.com.

Quand vous cliquez sur « Download », le fichier PEM est créé côté client avec URL.createObjectURL() et vous est remis en téléchargement. Le fichier passe de la mémoire à votre système de fichiers — il ne touche jamais nos serveurs.

Pas de backend, pas de proxy

Les outils de certificats traditionnels exécutent un processus côté serveur. Cela signifie que votre clé privée existe sur un serveur que vous ne contrôlez peut-être pas.

GetHTTPS n’a pas de backend. Le site est du HTML, CSS et JavaScript statique. Votre navigateur fait les requêtes ACME directement à acme-v02.api.letsencrypt.org. Nous ne proxifions pas, n’inspectons pas et ne journalisons pas ces requêtes.

Ce que nous voyons et ce que nous ne voyons pas

Nous voyonsNous ne voyons pas
Vos clés privées✓ (navigateur uniquement)
Vos domaines✓ (envoyés directement à Let’s Encrypt)
Les requêtes ACME✓ (navigateur → Let’s Encrypt)
Les jetons de challenge✓ (générés dans le navigateur)
Votre e-mail✓ (envoyé uniquement à Let’s Encrypt)

Vérifications DNS préalables

Pour la vérification des challenges, GetHTTPS interroge les résolveurs DNS publics (via l’API DNS-over-HTTPS de Google). Ces requêtes contiennent uniquement le nom de domaine et l’enregistrement TXT attendu — aucune donnée privée.

Modèle de menaces

Ce contre quoi nous protégeons :

  • Vol de clés par compromission de serveur (pas de serveur à compromettre)
  • Interception du matériel de clé (les clés ne quittent jamais l’onglet)
  • Collecte de données (pas d’analytique par défaut, pas de journalisation backend)

Ce contre quoi nous ne protégeons pas :

  • Un navigateur compromis (si votre navigateur est compromis, rien n’est garanti)
  • Un fournisseur DNS compromis (si un attaquant contrôle votre DNS, il peut émettre des certificats via DNS-01)
  • Les extensions de navigateur qui peuvent lire la mémoire de la page

Et les renouvellements ?

Les certificats Let’s Encrypt sont valides pendant 90 jours. Pour renouveler, revenez et suivez le même processus. Votre clé de compte (si sauvegardée) sera reconnue, donc vous n’aurez pas besoin de vous réinscrire.

Pour les renouvellements automatisés, envisagez un client côté serveur comme certbot. GetHTTPS est conçu pour l’émission manuelle et ponctuelle où vous voulez un contrôle total et de la transparence.

Obtenez un certificat SSL gratuit dans votre navigateur
Aucune installation, aucun compte. Votre clé privée ne quitte jamais votre appareil.
Obtenir un certificat