Een Certificate Signing Request (CSR) is een geformatteerd, digitaal ondertekend bericht dat uw openbare sleutel en identiteitsgegevens (domeinnaam, organisatie, land) bevat, maar niet uw privésleutel. U stuurt dit naar een Certificate Authority om een SSL-certificaat aan te vragen.
De CSR bewijst dat u de overeenkomstige privésleutel bezit door middel van een zelf-handtekening—de CA verifieert deze handtekening om te bevestigen dat u de sleutel controleert. Het standaardformaat is PKCS#10 (RFC 2986), meestal gecodeerd in PEM-formaat met -----BEGIN CERTIFICATE REQUEST----- en -----END CERTIFICATE REQUEST----- scheidingstekens.
Hoe het werkt:
- U genereert lokaal een privé-/openbaar sleutelpaar (RSA, ECDSA of Ed25519)—de privésleutel verlaat nooit uw systeem.
- U maakt een CSR aan met uw openbare sleutel, domeinnaam (Common Name of Subject Alternative Names), organisatie en land.
- U ondertekent de CSR met uw privésleutel als bewijs dat u deze controleert.
- U stuurt de CSR naar een CA (via webformulier, API of ACME-protocol dat door Let's Encrypt wordt gebruikt).
- De CA valideert uw domeincontrole, verifieert de CSR-handtekening en geeft een certificaat uit dat hun vertrouwen aan uw openbare sleutel bindt.
Voorbeeld (OpenSSL):
openssl req -new -newkey rsa:2048 -nodes \
-keyout example.com.key -out example.com.csr \
-subj "/CN=example.com/O=Example Inc/C=US"
Dit creëert example.com.key (privésleutel—veilig opbergen) en example.com.csr (het aanvraagbestand dat naar uw CA wordt gestuurd).
WarningDeel uw privésleutel nooit. Alleen de CSR (of het uitgegeven certificaat) mag veilig naar de CA worden gestuurd. Verliest u de sleutel, dan kunt u verkeer niet ontsleutelen of het certificaat niet vernieuwen zonder een nieuwe CSR te genereren.