Security · 58 tools · nothing uploads

X.509 certificate parser

Decode a PEM or DER X.509 certificate into subject/issuer/validity/public key/extensions, parsing every certificate in a multi-cert PEM chain instead of only the first. Reports what each certificate says about itself. No chain building, no revocation check, no clock: it does not tell you whether to trust it.

Input

X.509 certificate parser decodes a PEM or DER certificate and prints version, serial, both signature algorithms, issuer, subject, the validity window, public key and extensions. Serials print with an even digit count, the form openssl and CA portals use. Every certificate inside a chained PEM is parsed in turn, each numbered and headed by its position in the file.

Questions

Does this tell me whether a certificate is valid or trusted?

No, and it says so plainly. It reports what the certificate says about itself: version, serial, signature algorithms, issuer, subject, validity window, public key and extensions. It does no chain building, no revocation check and no signature verification. The one clock comparison it makes is against your own machine, and it labels that as not a trust decision.

Does it take PEM or DER?

Both. It looks at the start of the file for a BEGIN line and base64 decodes the PEM if it finds one, otherwise it treats the bytes as raw DER. A .cer, .crt, .der or .pem file all work, whatever the extension says.

Why did it say this is a CRL, not a certificate?

Because the PEM label said so. If the armor names a CRL it stops and points you at crl-parse, and if it names a certificate request it points you at csr-parse, rather than half decoding the wrong structure. Raw DER gets the same protection from a shape check: a certificate has at least six fields inside its tbsCertificate, and anything with fewer is refused with the count it found.

What does it tell me about the public key?

For RSA it parses the key and reports the modulus size in bits and the public exponent. For EC it names the curve from its OID and gives the size of the public point. For anything else it names the algorithm and the key length in bytes.

Which extensions does it decode?

Basic constraints with the CA flag and path length, key usage as named bits, subject alternative name including IPv4 and IPv6 addresses, extended key usage, subject key identifier, authority key identifier, CRL reason and CRL number. Anything else is listed by name or OID with the first 32 bytes of its raw value, and critical extensions are flagged.

My file has a whole chain in it. Which certificate does it read?

The first PEM block only. The loader base64 decodes the first block it finds and parses that, so the intermediate and root certificates in a bundle are skipped without comment. To inspect the rest, split the file so each certificate stands alone and run them one at a time.

Related Security tools

n→nCSR parserDecode a PEM or DER PKCS#10 certificate signing request into subject, public key and requested extensions (including subjectAltName, when present in an extensionRequest attribute). Reports the request, not a decision about whether it should be signed.Runs on each file you dropn→nCRL parserDecode a PEM or DER Certificate Revocation List into issuer, update times, and each revoked serial with its revocation date/reason. Reports what the CRL states, not whether it is current, or whether a given certificate is on it if you have not checked.Runs on each file you dropn→nJWK ↔ PEMConvert an RSA or EC key between JWK (JSON) and PEM (SPKI/PKCS8), via crypto.subtle import/export. Ed25519/OKP keys are not supported. On your device.Runs on each file you dropn→nPEM ↔ HexConvert a PEM block to the raw hex of its DER payload, or wrap hex bytes back into PEM armor. On your device.Runs on each file you dropn→nPublic key from cert / private keyExtract the public key from an X.509 certificate (always available; it is right there in the cert), or from an RSA/EC private key. RSA is always derivable (n/e are part of the private key itself); EC only when the key embeds its public point (SEC1's optional field; usually present, not guaranteed). This tool does not do elliptic-curve scalar multiplication to compute a missing one.Runs on each file you dropn→nCertificate chain validatorCheck that each certificate in a PEM chain was signed by the next one, with a valid signature, a current validity window, and CA flags that line up.Runs on each file you dropn→nPEM bundle splitSplit a PEM bundle, such as a certificate chain, into one file per block.Runs on each file you dropn→nSPKI pin (HPKP-style)Compute the RFC 7469 pin-sha256 of a certificate or public key's SubjectPublicKeyInfo, for HTTP Public Key Pinning or certificate pinning.Runs on each file you drop