Certificate Signing Request (CSR):
  • {{ key }}
    {{ value }}

                
{{ csr.trim() }}

Introduction:

Public-key infrastructure guards digital trust by binding identities to cryptographic keys through certificates. The journey starts with a Certificate Signing Request (CSR), a structured, signed message that bundles the applicant’s public key alongside identifying attributes and optional subject-alternative names.

This client-side decoder validates a pasted or uploaded PEM-encoded CSR, verifies its internal signature, extracts key algorithm, key size and signature scheme, and lists every identity field in both human-readable and JSON formats. All processing occurs entirely within your browser, preserving confidentiality.

Paste or drop a CSR to confirm its contents before sending it to a certificate authority—perfect for DevOps pipelines and security audits. Never share the associated private key; keep it offline and protected.

Technical Details:

Foundational Principles

A CSR is encoded with ASN.1, distilled to DER, then wrapped in PEM boundaries for transport. Inside, a distinguished-name object describes the subject, whereas an extensions container may hold subject-alternative names and key-usage hints. The public key and metadata are hashed, signed with the applicant’s private key and carried alongside the unsigned metadata. Signature verification recreates the hash, raises it to the public exponent in modular arithmetic and compares results, proving possession of the private key without exposing it.

Formula Overview

se = H (m)  mod  n
RSA verification: the decoded signature se must equal the message digest H(m) modulo the public modulus n.

Variables & Parameters

SymbolMeaningUnitTypical RangeSensitivity
sSignature integerbits2048-8192High
ePublic exponent65 537Low
nModulusbits2048-8192High
mSigned metadatabytes≈ 350-2 000Medium
HHash functionSHA-256+Medium

Scoring & Categorisation

  • Insecure: key size < 2048 bits.
  • Standard: 2048 – 3072 bits (suitable for most public certificates).
  • High-grade: 4096 bits (preferred for root or offline CAs).

Representative Calculations

Edge Cases & Assumptions

  • Whitespace, line-ending and header variations are normalised before processing.
  • Malformed PEM boundaries trigger a descriptive error rather than silent truncation.
  • Elliptic-curve keys report size via curve order; unusual curves may return undefined.
  • CSRs lacking subject-alternative names yield an empty list, not a parsing failure.

Performance & Stability

Decoding runs entirely in the browser through a lightweight cryptographic library, completing typical CSRs in under 2 ms (O(n) with respect to key length). All calculations use native big-int arithmetic where available. No network calls occur, ensuring predictable latency and compliance with air-gapped workflows.

Step-by-Step Guide:

Follow these steps to inspect a CSR quickly and export its details.

  1. Obtain a PEM-encoded CSR string or file from your certificate-generation process.
  2. Paste the text into the input area CSR or drop the file to load it automatically.
  3. Press Decode CSR to verify and parse the request.
  4. Switch between Info, JSON, and PEM tabs to view formatted results.
  5. Use Copy CSV or Download JSON for downstream automation; a signature error alert appears if validation fails.

FAQ:

Why should I decode a CSR?

Inspecting a CSR confirms its subject, key strength and extensions before submission, preventing costly issuance mistakes.

Is my data stored?

No. All parsing occurs locally in your browser and never leaves your device.

What formats are supported?

The decoder accepts PEM-encoded text and common file extensions such as .pem, .csr and .txt.

Does it check signature validity?

Yes. It reconstructs the digest from CSR fields and compares it with the embedded signature to prove authenticity.

Can I export the results?

Use the Info tab’s CSV actions or download the full JSON model for integration with audit or pipeline scripts.

Glossary:

CSR
Signed request containing a public key and identity fields.
PEM
Base64-encoded DER data wrapped between text headers.
CN
Common Name field identifying the primary domain or entity.
SAN
Subject-Alternative Name array listing additional identities.
Signature Algorithm
Cryptographic scheme used to sign and verify the CSR.
No data is transmitted or stored server-side.
Embed this tool into your website using the following code: