WebPeeks
RFC 5280

SSL/TLS certificate decoder

Paste a certificate in PEM form to read every field in plain language, see how long it has left, and check whether it covers the hostname you care about. Paste a whole chain to decode each one.

Paste-in tool. Your browser cannot fetch another site's headers for a web page (CORS forbids it), and WebPeeks has no server to do it, so nothing you paste leaves your browser. Get a site's certificate chain with the command below, and paste the -----BEGIN CERTIFICATE----- blocks it prints. Or paste the contents of a .pem or .crt file. Never paste a private key.

openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null

Certificate

example.com

4 passed · 2 notes

  • Info
    Lifetime of 181 days

    Within the 200-day maximum for publicly trusted certificates issued at that date.

  • Info
    Validation level: Domain Validated

    From the CA/Browser Forum policy identifier. Browsers no longer show a different padlock for EV.

  • Pass
    Valid for another 148 days

    Until 2027-03-01 00:00:00 UTC.

  • Pass
    Signature: ecdsa-with-SHA256
  • Pass
    Key: ECDSA on P-256 (prime256v1)
  • Pass
    Covers www.example.com

    Matched by the name "www.example.com".

Details

Certificate fields
SubjectCN=example.com
IssuerC=US, O=WebPeeks Example CA, CN=WebPeeks Example Issuing CA E1
Valid from2026-09-01 00:00:00 UTC
Valid until2027-03-01 00:00:00 UTC
Names covered (SAN)DNS:example.com
DNS:www.example.com
DNS:*.static.example.com
Public keyECDSA on P-256 (prime256v1)
Signature algorithmecdsa-with-SHA256
Serial number04:A1:B2:C3:D4:E5:F6:07:18:29:3A:4B:5C:6D:7E:8F
Versionv3
SHA-256 fingerprintC1:39:E2:CA:27:9B:29:5E:AF:A0:B2:F4:27:C6:D2:5B:D2:BE:2A:97:C6:55:8B:5A:88:79:59:D1:49:7E:F0:F4
SHA-1 fingerprint9E:E1:01:11:5C:E7:4A:21:70:FA:23:98:4D:03:F3:32:3E:25:1C:2A

Extensions

Certificate extensions
ExtensionCriticalValue
Basic ConstraintsyesCA: no
Key UsageyesDigital signature
Extended Key UsagenoTLS server authentication
Subject Alternative NamenoDNS:example.com, DNS:www.example.com, DNS:*.static.example.com
Subject Key IdentifiernoF9:15:47:94:79:4E:B1:C7:53:48:C9:7C:D7:61:24:D4:03:22:AF:71
Authority Key IdentifiernoCF:68:67:D5:25:09:4F:04:DD:4A:1C:2A:58:90:02:39:39:73:8F:74
Authority Information AccessnoOCSP: http://ocsp.example.net, CA issuers: http://ca.example.net/e1.der
CRL Distribution Pointsnohttp://crl.example.net/e1.crl
Certificate PoliciesnoDomain Validated (DV) (2.23.140.1.2.1)

How the decoder works

A PEM certificate is base64 text wrapped between BEGIN and END lines. Inside is a binary structure in DER, the Distinguished Encoding Rules of ASN.1 (ITU-T X.690), laid out as specified in RFC 5280. The decoder removes the wrapper, decodes the base64, and walks the DER one tag-length-value element at a time: the body to be signed (version, serial number, issuer, validity period, subject, public key, extensions), then the signature algorithm and the signature.

Everything is done in JavaScript in this page. The two fingerprints are the SHA-256 and SHA-1 hashes of the DER bytes, computed with the browser's built-in Web Crypto API, so they match what openssl x509 -noout -fingerprint -sha256 prints. The decoder does not verify the signature or build a chain to a trusted root: that needs the issuer's certificate and the operating system's trust store, and is what your browser does on every connection.

What the checks mean

CheckFlagged whenSource of the rule
ValidityExpired, not yet valid, or under 14 days leftRFC 5280; your device's clock
LifetimeOver 398 days, or over 200 days if issued on or after 15 March 2026CA/Browser Forum Baseline Requirements, ballot SC-081
SignatureSHA-1 or MD5Rejected by current browsers
RSA key sizeUnder 2048 bitsBaseline Requirements
SAN listMissing, or the hostname you entered is not coveredRFC 6125; browsers ignore the CN
Self-signedSubject equals issuer on a non-CA certificateNot in any browser trust store

The lifetime limit is shrinking in steps under CA/Browser Forum ballot SC-081: 398 days until 15 March 2026, 200 days from then, 100 days from 15 March 2027 and 47 days from 15 March 2029. Certificates from a private, internal CA are not bound by these rules, so a long lifetime there is a warning, not an error.

A worked example

The pre-loaded certificate was generated for this page (it signs nothing real). Its subject is simply CN=example.com, and its SAN list names three hosts: example.com, www.example.com and *.static.example.com. Checking www.example.com passes on the second entry; img.static.example.com would pass on the wildcard; shop.example.com fails because no entry covers it.

It is valid from 1 September 2026 to 1 March 2027, a lifetime of 181 days, inside the 200-day limit that applies to certificates issued after 15 March 2026. The key is ECDSA on the P-256 curve, and the signature is ecdsa-with-SHA256. Key usage is digital signature only and extended key usage is TLS server authentication, which is exactly right for an ECDSA server certificate. The policy identifier 2.23.140.1.2.1 marks it as domain validated, and the Authority Information Access extension says where a client can fetch the issuer (CA Issuers) and check revocation (OCSP).

Reading the extensions

Where this tool stops

It reads what the certificate says; it cannot tell whether the CA really issued it, whether it has been revoked, or whether the server presents it correctly. The validity result uses your device's clock, so a wrong clock gives a wrong answer. Unusual extensions are listed by object identifier and size rather than decoded. Certificate signing requests, private keys and PKCS#12 files are not certificates and are not decoded.

Common questions

Is it safe to paste a certificate here?

A certificate is public by design: every browser that visits the site receives it, and publicly trusted ones are also published in Certificate Transparency logs. Nothing you paste is sent anywhere in any case. What you must never paste into any website is the private key, and this tool refuses to decode one if you do.

Why does the certificate cover example.com but not shop.example.com?

A certificate covers exactly the names in its Subject Alternative Name list. A wildcard such as *.example.com covers one level of subdomain (shop.example.com) but not the bare domain (example.com) and not two levels down (a.shop.example.com). Enter a hostname in the box to check any name against the list.

What is the difference between the SHA-256 and SHA-1 fingerprint?

Both are hashes of the whole certificate in DER form, used to identify it exactly, for example when pinning or comparing with what a browser shows. SHA-256 is the one to use; SHA-1 is shown because some older tools and panels still display it. Neither is a property of the key; re-issuing the certificate with the same key changes both.

My certificate works in browsers but a script or old device says it is untrusted. Why?

Usually the server is sending only the leaf certificate without the intermediate. Browsers often fill the gap by fetching the intermediate themselves (from the CA Issuers URL) or from a cache; most other clients do not. Configure the server to send the full chain file, not just the certificate.

How do I convert a .cer or .der file to PEM?

Run openssl x509 -inform der -in cert.cer -out cert.pem. A .cer file is sometimes already PEM; open it in a text editor, and if it starts with -----BEGIN CERTIFICATE----- you can paste it directly. A .pfx or .p12 file contains the private key as well, so extract the certificate on your own machine with openssl pkcs12 -in file.pfx -nokeys.