Skip to content
gohacks.dev
Security

CSR Decoder

Decode a PEM certificate signing request to check its subject, public key and requested subject alternative names before sending it to a CA.

Free · No sign-up · Your inputs stay in your browser

Input

Decode a certificate signing request

Output

CN=example.dev, O=Example Ltd, C=GB

SubjectCN=example.dev, O=Example Ltd, C=GB
Public keyECDSA, P-256
SignatureECDSA with SHA-256
Subject alternative namesDNS:example.dev, DNS:www.example.dev
Challenge passwordnone

Check this before sending a CSR to a certificate authority: the subject alternative names are what browsers match, and the common name alone has not been honoured by Chrome since version 58. A CSR contains only the public key; the private key never leaves your server.

Runs in this browser. Nothing you paste is sent to a server.

Check before you submit

A mistake in a CSR becomes a certificate you paid for and cannot use. The common ones are a missing www name, a typo in the domain and a 1024-bit key. Browsers only match the subject alternative names, so request every hostname as a SAN.

Creating one with SANs

OpenSSL 1.1.1 and later accept them on the command line: openssl req -new -newkey rsa:2048 -nodes -keyout site.key -out site.csr -subj "/CN=example.com" -addext "subjectAltName=DNS:example.com,DNS:www.example.com". The request format is PKCS #10, RFC 2986. The private key stays on your server; the CSR contains only the public key.

Share

Frequently asked questions

Does the CSR contain my private key?
No. It contains the public key and the details to be certified, signed with the private key to prove you hold it.
Do I still need a CSR for Let's Encrypt?
ACME clients such as Certbot create one for you. You only make your own for a commercial CA or a custom setup.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Keep planning

Similar tools