KitWharfFREEFast & Private Web Apps
PKCS#10 Decoder • SANs & Key Size Audit • 100% In-Browser Privacy

SSL Certificate Request (CSR) Decoder & Validator

Decode, inspect, and validate PKCS#10 Certificate Signing Requests before sending to a CA. Verify Subject DN, SAN domains, public key bit length, and signature security with zero server uploads.

Paste PEM Encoded CSR

The Anatomy of a PKCS#10 Certificate Signing Request (CSR)

When applying for an SSL/TLS certificate, your web server creates a pair of cryptographic keys: a private key (which stays confidential on your server) and a public key. The public key is bundled with your organization’s identity information into a standardized ASN.1 DER structure called a PKCS#10 CSR.

Before issuing a certificate, Certificate Authorities (such as DigiCert, Let's Encrypt, or Sectigo) inspect this request to ensure:

  • Key Size Sufficiency: Minimum 2048-bit RSA or 256-bit ECDSA to resist brute-force cryptographic attacks.
  • Modern SAN Inclusion: Subject Alternative Names (SANs) must be defined for all domain variations (e.g. both example.com and www.example.com).
  • Valid Signature Hash: SHA-256 or SHA-384 must be used. Obsolete algorithms like SHA-1 or MD5 are rejected outright.

X.509 Subject Distinguished Name (DN) & SAN Attribute Standards

Attribute / TagASN.1 OIDDescriptionRFC Standard & Example
CN (Common Name)2.5.4.3Primary FQDN hostname of the web serverRFC 5280 (e.g. api.kitwharf.com)
O (Organization)2.5.4.10Legally registered corporate entity nameRequired for OV / EV certs (e.g. KitWharf Inc.)
OU (Organizational Unit)2.5.4.11Internal department or divisionDeprecated by CA/Browser Forum in 2022
L (Locality)2.5.4.7Incorporation city or municipalitye.g. San Francisco
ST (State / Province)2.5.4.8Full un-abbreviated state namee.g. California
C (Country)2.5.4.6ISO 3166-1 alpha-2 two-letter country codeStrict 2-letter uppercase (e.g. US, GB, DE)
SAN: dNSName2.5.29.17Multi-domain and wildcard hostnamesRFC 6125 (e.g. *.kitwharf.com, kitwharf.com)
SAN: iPAddress2.5.29.17Direct public IP address subject bindingRFC 5280 IPv4/IPv6 octet string

Essential OpenSSL CSR Verification Commands

If you have local access to a terminal, you can also verify CSRs directly with the OpenSSL command-line toolkit:

# View complete decoded CSR textopenssl req -in request.csr -noout -text
# Verify self-signature integrityopenssl req -in request.csr -noout -verify
# Check if a CSR matches a private keyopenssl req -noout -modulus -in request.csr | openssl md5openssl rsa -noout -modulus -in private.key | openssl md5

Frequently Asked Questions