ZeroTool Workbench
SSL Certificate Decoder
Paste any X.509 PEM certificate to view Subject, Issuer, validity, SANs, public key, signature algorithm, and SHA-256/SHA-1/MD5 fingerprints. Free, browser-based, no upload.
How to Use
- Paste your X.509 certificate (PEM format) into the input box.
- Click Decode. The full set of certificate fields appears below.
- Review Validity for expiry status — expired, valid, or expiring within 30 days.
- Inspect Subject, Issuer, and Subject Alternative Names to confirm hostnames.
- Copy any fingerprint to clipboard for pinning, troubleshooting, or audit logs.
What this decoder shows
- Validity period — Not Before / Not After timestamps plus a colour-coded status badge.
- Subject and Issuer — CN, O, OU, C, L, ST, plus any extension fields (jurisdiction, business category, serial number).
- Subject Alternative Names — DNS names, IP addresses, URIs, and email entries, grouped by type.
- Public key — algorithm (RSA, EC, Ed25519, Ed448), key size in bits, RSA exponent, EC named curve.
- Key Usage and Extended Key Usage — digital signature, key encipherment, server / client authentication, code signing, OCSP signing, and more.
- Basic Constraints — whether the certificate is a CA, and its path length constraint.
- Signature algorithm — sha256WithRSAEncryption, ecdsa-with-SHA384, Ed25519, etc.
- Fingerprints — SHA-256, SHA-1, MD5 hex digests with colon separators.
- Serial number and version — hex serial and X.509 version (typically v3).
How a PEM certificate decodes
A PEM certificate is a Base64 wrapper around DER-encoded ASN.1. Once stripped and
decoded, you get a Certificate SEQUENCE containing tbsCertificate,
signatureAlgorithm, and signatureValue. The TBS half holds every
field above. This tool walks the ASN.1 tree directly in JavaScript — no network round-trip,
no server-side parser.
Typical use cases
- Verifying SAN coverage before deploying a new TLS certificate.
- Spot-checking expiry across staging and production endpoints.
- Pinning by SHA-256 fingerprint in mobile apps or HSTS-preload submissions.
- Confirming the signature algorithm and key strength meet a compliance policy (PCI DSS, FIPS 140-3, Mozilla Modern profile).
- Debugging mismatched
SubjectCN versus modern SAN-only validators.
Limits by design
This tool decodes a single certificate. It does not validate the chain, fetch CRL/OCSP,
perform revocation checks, or speak TLS. For chain validation use
openssl verify; for live TLS inspection use openssl s_client -showcerts
or nmap —script ssl-cert.
FAQ
Is my certificate uploaded anywhere?
No. Parsing happens entirely in your browser via inline JavaScript and the Web Crypto API. The PEM never leaves your machine — safe for staging, internal, and production certificates.
Which certificate formats does this decoder accept?
PEM-encoded X.509 certificates wrapped in -----BEGIN CERTIFICATE----- … -----END CERTIFICATE----- markers. DER (raw binary) is not accepted. Convert first with: openssl x509 -inform DER -in cert.der -out cert.pem.
Can this verify the certificate chain or trust?
No. The tool only decodes the certificate fields. To validate the chain, use openssl verify -CAfile chain.pem cert.pem, or rely on your operating system's trust store.
How are the fingerprints calculated?
SHA-256, SHA-1, and MD5 digests are computed over the DER bytes of the certificate (not the PEM text). SHA-256 is the standard identifier today; SHA-1 and MD5 are shown for compatibility with legacy tooling.
Does it handle ECDSA, Ed25519, or only RSA certificates?
All three. The decoder recognises rsaEncryption, id-ecPublicKey with named curves prime256v1 / secp384r1 / secp521r1 (plus secp256k1 and Brainpool variants), Ed25519, and Ed448 public keys.