Lokale SSL-generator voor localhost en IP-adressen
Deze lokale SSL-generator zet de namen van je lokale site om in een certificaat en een privésleutel voor je ontwikkelserver. Alles gebeurt in je browser: er wordt niets geüpload of opgeslagen. Aan het eind download je server.crt en server.key in één ZIP.
Zelfondertekend certificaat voor localhost, domeinen en IP-adressen
Elke naam die je invoert komt in de lijst Subject Alternative Name (SAN), die moderne browsers controleren. Je hoeft niets in te stellen of te plakken.
Het sleutelpaar wordt gemaakt met de WebCrypto van je browser, en het certificaat wordt op de pagina zelf opgebouwd en ondertekend.
Stap voor stap een certificaat genereren
- Bekijk het veld Domeinen en IP-adressen. Het begint met
localhost, 127.0.0.1; vervang het of vul het aan met je eigen namen, bijvoorbeeldlocalhost, 127.0.0.1, 192.168.1.5. - Open desgewenst Instellingen om Geldig voor (dagen) of RSA-sleutelgrootte te wijzigen.
- Klik op Certificaat genereren. Na de korte stap Je certificaat wordt gemaakt… verschijnt Je certificaat is klaar.
- Klik op ZIP downloaden. Het bestand
local-ssl-certificate.zipbevat server.crt (het certificaat) en server.key (de privésleutel). - Voeg server.crt toe aan de vertrouwde certificaten van je computer via Vertrouw het op je computer en stel daarna je server in met de twee bestanden.
- Wil je een naam of instelling wijzigen, klik dan op Namen of instellingen wijzigen en genereer opnieuw.
Wat je invoert bij domeinen en IP-adressen
Scheid de invoer met komma's, spaties of nieuwe regels. Elk item wordt vanzelf herkend als DNS-naam of als IP-adres:
- Hostnamen zoals
localhostofdev.example.test - Wildcards zoals
*.example.test, die één niveau subdomein dekken - IPv4-adressen zoals
192.168.1.5en IPv6-adressen zoals::1, met of zonder vierkante haken - Namen met accenten of niet-Latijnse letters, die voor je worden omgezet naar punycode (de xn--vorm)
Een certificaat kan maximaal 50 namen bevatten. Voer alleen de hostnaam of het adres in: een item met https:// of een poortnummer wordt geweigerd, en de foutmelding noemt precies welke items ongeldig waren. De naam die je in de adresbalk typt, moet een van de namen in het certificaat zijn, anders blijft de browser waarschuwen.
Instellingen: geldigheid en sleutelgrootte
Geldig voor accepteert 1 tot 397 dagen en begint bij 365. Een getal buiten dat bereik wordt aangepast naar de dichtstbijzijnde grens. Het certificaat geldt vanaf het moment dat je het genereert, en Geldig tot toont in het resultaat de einddatum. Is die voorbij, genereer dan een nieuw certificaat.
De RSA-sleutelgrootte staat standaard op 2048 bits, wat snel is en overal wordt geaccepteerd. Kies 4096 bits voor een grotere sleutel; het maken kan een paar seconden duren.
Het resultaat toont Geldt voor (alle namen), Geldig tot, Sleutel en de SHA-256-vingerafdruk. Het certificaat is een zelfondertekend X.509 versie 3, met de eigen sleutel ondertekend met SHA-256 en RSA. De common name is het eerste item dat je typte, maar browsers lezen de SAN-lijst. Het serienummer is willekeurig.
Het certificaat vertrouwen op Windows, macOS en Linux
Een browser waarschuwt voor een zelfondertekend certificaat tot het in de vertrouwde certificaten staat. Pak de ZIP uit, open een terminal in die map en voer de opdracht voor jouw systeem uit. Elke opdracht staat ook kopieerklaar onder Vertrouw het op je computer.
- macOS:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt - Windows (PowerShell als administrator):
Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root - Debian en Ubuntu:
sudo cp server.crt /usr/local/share/ca-certificates/server.crten daarnasudo update-ca-certificates - Fedora en RHEL:
sudo cp server.crt /etc/pki/ca-trust/source/anchors/en daarnasudo update-ca-trust
Firefox houdt een eigen lijst bij, en Chrome op Linux ook. Importeer server.crt daar onder Instellingen, Certificaten, Autoriteiten. Ook sommige ontwikkeltools hebben een eigen lijst: geef ze server.crt in hun eigen instellingen. Start de browser opnieuw op nadat je het certificaat vertrouwt.
Het certificaat gebruiken in je server
Zet server.crt bij de certificaatinstelling van je webserver en server.key bij de instelling voor de privésleutel, en start de server opnieuw op. In nginx heten die instellingen ssl_certificate en ssl_certificate_key, in Apache SSLCertificateFile en SSLCertificateKeyFile. Open daarna je site met een van de namen uit het certificaat en https:// ervoor.
Houd server.key privé: wie dit bestand heeft, kan zich voordoen als je lokale site. Zet het niet in een openbare repository. De tool is alleen voor lokale ontwikkeling; zet een zelfondertekend certificaat nooit op een openbare website.
Veelgestelde vragen
Hoe genereer ik een certificaat voor localhost?
Laat localhost, 127.0.0.1 staan in het veld "Domeinen en IP-adressen", klik op "Certificaat genereren" en daarna op "ZIP downloaden". Je krijgt server.crt en server.key. Wijs je lokale webserver naar die twee bestanden en voeg server.crt toe aan de vertrouwde certificaten van je computer, zodat de browser stopt met waarschuwen.
Kan ik een certificaat voor een IP-adres genereren?
Ja. Typ het adres in het veld "Domeinen en IP-adressen", bijvoorbeeld 192.168.1.5. IPv4 en IPv6 werken allebei, ook de vorm met haken [::1]. Elk IP komt als IP-adresitem in het certificaat, en dat controleert de browser als je https://192.168.1.5 opent. Typ alleen het adres, zonder https:// en poort.
Kan ik een zelfondertekend wildcardcertificaat genereren?
Ja. Voer een wildcard in zoals *.example.test en die wordt toegevoegd als DNS-naam. Een wildcard dekt één niveau: *.example.test geldt voor app.example.test, maar niet voor example.test zelf en niet voor a.b.example.test. Voeg example.test apart toe als je dat nodig hebt.
Heb ik OpenSSL nodig?
Nee. Het sleutelpaar wordt gemaakt door de ingebouwde WebCrypto van je browser en het certificaat wordt op de pagina opgebouwd en ondertekend, dus je hoeft geen opdracht uit te voeren of iets te installeren. OpenSSL heb je alleen nodig als je de bestanden achteraf naar een ander formaat wilt omzetten.
Hoe vertrouw ik het certificaat in Windows?
Open PowerShell als administrator, ga naar de map waarin je de bestanden hebt uitgepakt en voer Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root uit. Dat kopieert het certificaat naar de vertrouwde basiscertificaten, die Chrome en Edge lezen.
Hoe vertrouw ik het certificaat op een Mac, in Ubuntu of in Firefox?
Voer op een Mac in de map met server.crt uit: sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt. Kopieer het bestand op Debian en Ubuntu naar /usr/local/share/ca-certificates/ en voer sudo update-ca-certificates uit. Firefox gebruikt de opslag van het systeem niet: importeer server.crt in de instellingen, onder Certificaten en Autoriteiten.
Kan ik een PFX-bestand, een CSR of een Let's Encrypt-certificaat krijgen?
Nee. Deze tool maakt één zelfondertekend certificaat in PEM-formaat: server.crt en server.key. Er komt geen certificaataanvraag (CSR) uit, geen door een CA ondertekend of openbaar certificaat en geen aparte root-CA. Heb je een PFX nodig, dan kan de opdracht pkcs12 van OpenSSL het bouwen uit de twee bestanden.
Aanbevolen
-
Lamicall 360° draaibare tabletstandaardZet de telefoon of tablet overeind waarop je https://192.168.x.x test.
-
Kingston IronKey Vault Privacy 50 versleutelde USB-stickEen hardwarematig versleutelde stick, zodat server.key niet los op je laptop staat.
-
EMEET S600 4K streaming webcamCamera-tests vereisen HTTPS, dus test het echt met een goede 4K-webcam.
Help de tools gratis te houden. ✨
Afbeeldingen dienen ter illustratie. Als Amazon-Partner verdien ik aan in aanmerking komende aankopen.