PKI Viewer by

Drop or select a certificate, chain, CSR, CRL, key, PKCS#12 or signed P7M/P7S file. The type is detected from the content, not the file name. Everything runs in your browser.

Drag & drop a file here

.pem .crt .cer .der .p7b .p7m .p7s .p12 .pfx .csr .crl .key .pub

Paste PEM data — certificates, chains, CSRs, CRLs, keys, PKCS#7 — or Base64 without PEM lines. All blocks are decoded as you type.

PEM Input

Supported Formats

Extension Format Description
.pemPEMBase64-encoded with header/footer markers. Can contain certificates, keys, CSRs.
.crt / .cerPEM or DERX.509 certificate. Auto-detected encoding.
.derDER (binary)Binary-encoded X.509 certificate.
.p7m / .p7s / .p7b / .p7cPKCS#7 / CMSSigned data with or without content (P7M/P7S, also Base64 without PEM lines) or certificate bundle (P7B/P7C). PEM, DER or BER.
.p12 / .pfxPKCS#12Password-protected container with certificate + private key.
.csr / .reqPKCS#10Certificate Signing Request. PEM or DER.
.key / .pubPEM or DERPrivate keys (PKCS#8, PKCS#1, SEC1 EC) and public keys — RSA, EC, Ed25519. Encrypted keys are recognised, not decrypted.
.crlX.509 CRLCertificate revocation list. PEM or DER.

What This Tool Can Do

  • Show certificates with RSA, RSA-PSS, ECDSA (P-256/384/521, brainpool) and Ed25519 keys: subject, issuer, validity, SANs (incl. IP addresses), key usage, key IDs, OCSP/CA issuer URLs, CRL points, policies, CT timestamps
  • SHA-1/SHA-256 fingerprints from the original bytes and the public key pin (pin-sha256)
  • Order a chain and check each certificate's signature against its issuer in the input
  • Check whether a private key belongs to a certificate (combined PEM, PKCS#12)
  • Verify P7M/P7S signatures: content unchanged and signed with the certificate's key — also for detached signatures when you add the signed file
  • Show S/MIME e-mails inside P7M files with correct umlauts, text/HTML body and attachments; the HTML preview blocks remote images
  • Open password-protected PKCS#12 containers (current AES and legacy formats)
  • Inspect CSRs (incl. their signature) and CRLs (revoked serials, reasons, next update)
  • Read any number of PEM blocks from one input and export each part as PEM

What This Tool Cannot Do

  • Decide whether to trust a certificate: there is no trust store, and revocation (OCSP, downloading CRLs) is not checked
  • Fetch certificates from a server — use the SSL checker for that
  • Decrypt password-protected private keys (only PKCS#12 passwords) or encrypted S/MIME messages
  • Check signatures made with Ed448, brainpool curves or MD5 (not supported by the browser's Web Crypto API)
  • Sign or generate certificates

Tips

Export a certificate from your browser

  1. Click the padlock icon in the address bar
  2. View certificate details
  3. Export / download as .pem or .crt
  4. Drop the file here or paste the PEM text

Useful OpenSSL commands

# View a certificate
openssl x509 -in cert.pem -text -noout

# Convert DER to PEM
openssl x509 -inform der -in cert.der -out cert.pem

# Extract cert from P12
openssl pkcs12 -in file.p12 -clcerts -nokeys -out cert.pem

# View a CSR
openssl req -in request.csr -text -noout

# Extract certs from PKCS#7
openssl pkcs7 -in bundle.p7b -print_certs -out certs.pem

Common PKI File Extensions

ExtensionStandardEncodingTypical Content
.pemRFC 7468Base64 (ASCII)Certificates, keys, CSRs, CRLs
.der / .cerITU-T X.690BinarySingle certificate (DER-encoded)
.crtX.509PEM or DERCertificate (encoding varies by OS)
.keyPKCS#1 / PKCS#8PEMPrivate or public key
.csr / .reqPKCS#10PEM or DERCertificate Signing Request
.p7b / .p7cPKCS#7PEM or DERCertificate bundle (no private key)
.p7m / .p7sCMS / PKCS#7DER (usually)Signed/enveloped data
.p12 / .pfxPKCS#12BinaryCertificate + private key (password-protected)
.ca-bundle—PEMConcatenated CA certificates
.jksJava KeyStoreBinaryJava-specific key/cert store (not supported)

Certificate Fields Reference

Distinguished Name (DN) Components

AbbrOIDField
CN2.5.4.3Common Name
O2.5.4.10Organization
OU2.5.4.11Organizational Unit
C2.5.4.6Country (2-letter ISO)
ST2.5.4.8State / Province
L2.5.4.7Locality (City)
E1.2.840.113549.1.9.1Email Address
serialNumber2.5.4.5Serial Number (DN attribute)

Common X.509v3 Extensions

ExtensionOIDDescription
Subject Alternative Name2.5.29.17Additional identities (DNS names, IPs, emails)
Key Usage2.5.29.15Permitted key operations (digitalSignature, keyEncipherment, ...)
Extended Key Usage2.5.29.37Purpose (serverAuth, clientAuth, codeSigning, ...)
Basic Constraints2.5.29.19CA flag and path length constraint
Authority Key Identifier2.5.29.35Identifies the issuer's public key
Subject Key Identifier2.5.29.14Hash of the subject's public key
CRL Distribution Points2.5.29.31URLs where CRLs can be retrieved
Authority Information Access1.3.6.1.5.5.7.1.1OCSP responder and CA issuer URLs
Certificate Policies2.5.29.32Policy OIDs and qualifiers

Common OpenSSL Commands

# --- View / Inspect ---
openssl x509 -in cert.pem -text -noout             # View certificate
openssl req -in request.csr -text -noout            # View CSR
openssl rsa -in key.pem -text -noout                # View RSA key
openssl pkcs7 -in bundle.p7b -print_certs           # List certs in PKCS#7
openssl pkcs12 -in file.p12 -info                   # Inspect PKCS#12

# --- Convert ---
openssl x509 -inform der -in cert.der -out cert.pem             # DER to PEM
openssl x509 -outform der -in cert.pem -out cert.der             # PEM to DER
openssl pkcs12 -in file.p12 -clcerts -nokeys -out cert.pem       # P12 to cert PEM
openssl pkcs12 -in file.p12 -nocerts -nodes -out key.pem         # P12 to key PEM
openssl pkcs12 -export -in cert.pem -inkey key.pem -out file.p12 # PEM to P12

# --- Verify ---
openssl verify -CAfile ca.pem cert.pem              # Verify against CA
openssl s_client -connect host:443 -showcerts       # Fetch server chain

# --- Fingerprints ---
openssl x509 -in cert.pem -fingerprint -sha256 -noout  # SHA-256 fingerprint
openssl x509 -in cert.pem -fingerprint -sha1 -noout    # SHA-1 fingerprint

PKI Trust Model

Public Key Infrastructure (PKI) relies on a hierarchical trust model:

  1. Root CA — Self-signed certificate trusted by operating systems and browsers. Stored in the local trust store.
  2. Intermediate CA — Signed by the Root CA. Issues end-entity certificates. Adds a layer of protection (root key stays offline).
  3. End-entity certificate — Identifies a server, person or device. Signed by an intermediate CA.

When a TLS client connects, the server presents its certificate along with intermediate CA certificates. The client walks the chain up to a trusted root to validate the connection.