CSR Summary
{{ displayFields['Subject CN'] }}
Signature {{ result && result.signature && result.signature.verified ? 'OK' : 'Invalid' }} {{ displayFields['Key Algorithm'] }} {{ displayFields['Key Size (bits)'] }} bits {{ displayFields['Signature Alg.'] }} {{ result.sanList.length }} SAN
Certificate Signing Request (CSR)
Field Value Copy
{{ key }} {{ value }}
#SubjectAltNameCopy
{{ idx + 1 }} {{ name }}
No SAN entries found.


                    
{{ result.warnings.length ? 'Observations & Warnings' : 'Looks solid. No obvious issues detected.' }}
  • {{ w }}
OpenSSL helpers:
openssl req -in request.csr -noout -text
openssl req -in request.csr -verify -noout
openssl req -in request.csr -pubkey -noout | openssl pkey -pubin -outform DER \
  | openssl dgst -sha256 -binary | openssl enc -base64
{{ csr.trim() }}

                
:

Introduction:

Certificate signing requests are structured messages that present an identified public key and a proof that the sender controls its private half. They are commonly used when preparing for a new server certificate or a renewal with a trusted issuer.

Clear decoding helps you confirm subject names, alternative names, and key details before submission, which avoids delays and rejections. A certificate signing request decoder and verifier clarifies what is inside and whether the self signature checks out.

You provide a request in the familiar text envelope and receive human readable fields with the key algorithm, size or curve, the signature method, a verification result, and simple fingerprints for tracking. You can also review a compact key representation for use in services that expect a standard public key format.

As an example, a request for a site with both the bare domain and the www host should show both names under alternative names and its common name should appear there as well. If it does not, update your template so the issued certificate includes all the endpoints you intend to serve.

Treat requests as sensitive material and handle them with the same care as you would a certificate order. Small mismatches can create confusion, so compare results with your intended order details before you proceed.

Technical Details:

Certificate Signing Requests (CSR) describe an entity’s subject information and public key, then include a self signature that proves possession of the corresponding private key. The tool parses the request, verifies the signature, and displays structured fields for inspection.

From the parsed data it computes reference fingerprints on the binary form of the request and on the Subject Public Key Info (SPKI). It also converts the public key into a JSON Web Key (JWK) so that the same key can be reused wherever a compact JSON form is expected.

Results include the Distinguished Name (DN) with Common Name (CN), Organization (O), Organizational Unit (OU), Locality (L), State or Province (ST), Country (C), and email address, plus any Subject Alternative Name (SAN) entries. Key Usage (KU), Extended Key Usage (EKU), and Basic Constraints are shown when present.

Interpretation focuses on practical readiness: signature verification should pass; RSA keys should be at least 2048 bits; weak digests such as SHA 1 and MD5 indicate legacy settings; a server certificate request typically needs SAN entries that match the names you plan to serve.

Processing pipeline:

  1. Ensure PEM boundaries; wrap bare base64 with request headers and footers.
  2. Parse the request, then verify the self signature.
  3. Extract DN fields and build a normalized DN string.
  4. Read SAN, KU, EKU, and Basic Constraints from the requested extensions.
  5. Describe the public key: RSA size and exponent, EC curve and size, or EdDSA family.
  6. Compute CSR MD5, SHA 1, and SHA 256 on DER bytes.
  7. Compute SPKI SHA 256 and format a pin string with base64url.
  8. Derive a public JWK for RSA or EC keys using base64url components.
  9. Apply heuristic checks and list observations or warnings.
Worked example. Subject CN: www.example.com. SAN: www.example.com, example.com. Key: RSA 2048 with exponent 65537. Signature digest: sha256. Verification: Yes. CSR SHA 256 and SPKI SHA 256 appear as lowercase hex strings; the SPKI pin shows as pin-sha256="…". A missing SAN for the common name would be flagged.

Observations & heuristics:

Heuristic checks and implications
Condition Implication
Signature verification failed Request cannot prove key possession; regenerate with a valid key pair.
RSA size below 2048 Likely rejected by most issuers; increase key size.
Weak EC curve (P 192 or P 224) Deprecated strength; choose a modern curve such as P 256 or P 384.
Digest is SHA 1 or MD5 Legacy signature; prefer SHA 256 or stronger.
No SAN entries Modern server certificates rely on SAN; add required names.
CN not listed in SAN Target host may be uncovered; mirror CN in SAN when needed.
serverAuth without digitalSignature KU Typical server profiles expect digital signatures; adjust KU set.
Challenge password present Often unnecessary; remove unless your process requires it.

I/O formats & encoding:

Inputs and outputs with encodings
Input Accepted Families Output Encoding/Precision Rounding
CSR text PEM with headers; bare base64 wrapped automatically Subject, SAN, key, signature, warnings Strings; integers for sizes; booleans for verification None
CSR file .pem, .csr, .txt; generic application types Same as text input As above Not applicable
Fingerprints CSR MD5, SHA 1, SHA 256; SPKI SHA 256 Lowercase hex; SPKI pin in base64url Hex and base64url Exact digests
Public key RSA, EC (named curves), Ed25519/Ed448 JWK for RSA/EC; SPKI DER base64url for JWK components Not applicable

Validation & bounds from the interface:

Input validation derived from UI logic
Field Type Min Max Step/Pattern Error Text Placeholder
CSR text Multiline text PEM headers added if missing Paste a PEM-encoded CSR. Paste PEM-encoded CSR or drop a file…
CSR file File Accepts .pem, .csr, .txt, application/*

Units, precision & rounding:

  • Bit lengths are integers from key material; no rounding applied.
  • Fingerprints are lowercase hexadecimal with no separators.
  • Base64url removes padding and uses dash and underscore variants.

Networking & storage behavior:

Processing runs entirely in your browser; decoding, verification, and fingerprinting operate on local memory. No data is transmitted or stored server side.

Security considerations:

  • A successful self signature confirms key possession but not identity or issuance.
  • Do not paste sensitive requests into untrusted environments.
  • Use test data when demonstrating workflow to others.

Assumptions & limitations:

  • Assumes PEM or base64 CSR; binary inputs should be converted first.
  • Assumes standard DN short names; uncommon attributes may appear only in JSON.
  • Heuristics flag weak curves and digests but cannot enforce policy.
  • serverAuth and KU guidance is advisory and context dependent.
  • Heads‑up A valid structure does not ensure a certificate will be issued.
  • EdDSA keys are described; JWK export targets RSA and EC.
  • SPKI pin is informational and not persisted.
  • Large inputs depend on available browser memory.

Edge cases & error sources:

  • PEM headers with extra spaces or unusual line breaks.
  • Mixed newline types across platforms.
  • Non ASCII characters in subject attributes.
  • Missing or empty SAN extension for server use.
  • CSR created with obsolete digest settings.
  • Inconsistent OU ordering across tooling.
  • Malformed EC points or compressed encodings.
  • Unexpected OIDs that lack a friendly label.
  • Truncated files from interrupted transfers.
  • Clipboard or file read permissions denied by the environment.

Privacy & compliance:

No data is transmitted or stored server side. Outputs assist with operational checks and do not constitute security guarantees.

How‑to:

Certificate signing requests can be decoded and verified for quick pre‑issuance checks.

  1. Paste your request text into the input PEM with headers or drop a file.
  2. Run the decoder, then review verification and subject details.
  3. Confirm names under SAN match the hosts you intend to cover.
  4. Check key algorithm and size or curve against your policy.
  5. Copy a JWK or SPKI pin if you need a compact reference.

Example. A request for api.example.com should include that host in SAN and pass signature verification. If the digest reads SHA 1, regenerate with SHA 256.

Once everything aligns with your order, proceed to submission with confidence.

FAQ:

Is my data stored?

No. All parsing and checks happen in your browser and nothing is persisted or sent to a server.

How accurate is verification?

The self signature is verified against the included public key. Passing means the private key was used, not that an issuer will accept the request.

What formats can I provide?

PEM text with request headers or a file with .pem, .csr, or .txt. Bare base64 text is wrapped automatically.

Can I work offline?

Yes, once the page is loaded. All processing is browser based and requires no network calls.

What does a borderline result mean?

Warnings highlight likely issues such as weak digests or missing SAN entries. Use them as prompts to adjust templates before ordering a certificate.

How do I validate a CSR?

Decode the request, confirm the signature passes, review subject and SAN, and ensure key parameters meet your policy. Regenerate if anything falls short.

Can I export the public key?

Yes. You can copy a JWK for RSA or EC keys and download SPKI in DER for other uses.

Does this replace CA validation?

No. It prepares your request and surfaces likely issues. Issuance depends on external validation and policy.

Troubleshooting:

  • Empty output: ensure the text includes a full request or valid base64.
  • Verification failed: reissue the request with the correct private key.
  • Missing SAN: update your template to include required hostnames.
  • Weak digest: configure your tool to use SHA 256 or stronger.
  • Unknown curve: switch to a widely supported named curve.
  • Copy actions do nothing: check clipboard permissions.

Advanced Tips:

  • Tip Keep CN and SAN aligned for hosts you intend to serve.
  • Tip Prefer RSA 2048 or EC P 256 and modern digests for broad compatibility.
  • Tip Save the SPKI SHA 256 to track keys across reissues.
  • Tip Use JWK export to integrate with systems that expect JSON keys.
  • Tip Avoid challenge passwords unless your workflow requires them.
  • Tip Keep a template with KU and EKU that match your intended use.

Glossary:

CSR
Certificate Signing Request with subject, key, and self signature.
DN
Distinguished Name made of CN, O, OU, L, ST, and C.
SAN
Subject Alternative Name entries such as hostnames or IPs.
SPKI
Subject Public Key Info section that holds the public key.
JWK
JSON Web Key form for representing a public key in JSON.
KU / EKU
Key usage and extended key usage intentions requested by the CSR.