Skip to content

Certificate & PKI

Topical Authority Guide & Developer Workspace

Runs entirely in your browser

This tool executes locally using standard browser APIs (for example window.crypto.getRandomValues or crypto.subtle where applicable). Your input is not transmitted to or stored on a ScriptPulse server. See How Calculations Work.

No data uploaded

Public Key Infrastructure (PKI) binds cryptographic keys to verified identities through X.509 certificates and a chain of trust rooted in certificate authorities. Understanding the certificate lifecycle, chain validation, and key format conversion is essential for deploying TLS correctly and diagnosing trust failures before they become outages.

Topic Overview

A digital certificate solves a problem cryptography alone can't: proving that a given public key actually belongs to the entity claiming it, not just that the key works mathematically. An X.509 certificate binds a public key to an identity — a domain name, an organization — and is itself signed by a certificate authority (CA) whose own certificate is signed by another CA, forming a chain of trust that ultimately terminates at a small set of root certificates pre-trusted by operating systems and browsers.

This hub covers the trust and lifecycle layer built on top of cryptography: certificate issuance through a Certificate Signing Request, chain validation, expiration monitoring, cipher suite negotiation, Certificate Transparency, and the various formats keys and certificates are stored in. It does not re-explain the underlying cryptographic algorithms themselves — see the Encryption hub for how RSA and ECC actually work as ciphers, and the Hashing & Integrity hub for how certificate and key fingerprints, including SSH key fingerprints, are computed.

JSON Web Keys (JWK) are the key-format side of a related but distinct picture: this hub covers generating and converting JWK material itself, while the Authentication & Tokens Lab hub covers how JWTs use signing keys (JWS/JWE) to actually construct and verify tokens — the key format and the token format are separate concerns that happen to connect.

A misconfigured certificate chain, an expired certificate, or a weak negotiated cipher suite are among the most common causes of TLS failures in production — usually visible to users as a browser trust warning, and usually preventable with a deliberate validation and monitoring workflow rather than discovered after an outage.

Core Concepts: X.509 Certificates, the Trust Chain, and CSRs

An X.509 certificate is a structured document containing a public key, the identity it's issued to (the subject), the identity that issued it (the issuer), a validity period, and a digital signature from the issuer over the whole certificate. Certificates are typically distributed in PEM format — base64-encoded DER data wrapped in -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- markers — which is why decoding a certificate's actual fields, rather than just eyeballing the encoded block, requires a dedicated parser.

Trust is established through a chain: a leaf (end-entity) certificate is signed by an intermediate CA certificate, which is itself signed by a root CA certificate. Browsers and operating systems ship with a curated set of trusted root certificates; a chain validates successfully only if it can be followed, link by link, from the leaf up to one of those pre-trusted roots, with every signature in between verifying correctly and no certificate in the chain expired or revoked.

Getting a certificate issued starts with a Certificate Signing Request (CSR): a document containing your public key and the identity you're requesting a certificate for, signed with the corresponding private key to prove you actually hold it. A CA reviews the CSR (the depth of review depends on the certificate validation level requested), and if approved, issues a signed certificate back — the CSR itself is never the certificate; it's the request that leads to one.

Beyond the certificate itself, a live TLS connection also negotiates a cipher suite — the specific combination of key exchange, authentication, encryption, and integrity algorithms both sides agree to use for that session. A perfectly valid certificate chain doesn't guarantee a secure connection if the negotiated cipher suite itself is weak or deprecated.

Practical Application: Requesting, Validating, and Monitoring a Certificate

A typical certificate lifecycle starts with generating a key pair and a matching CSR. Use the CSR Generator to build a properly-formatted request with the correct subject fields for your domain, then the CSR Decoder to verify it contains exactly the fields you intended before submitting it to a certificate authority.

Once a certificate is issued, use the PEM Certificate Decoder or the X509 Certificate Inspector to confirm its subject, issuer, validity dates, and extensions match what you requested — catching a misconfigured field here is far cheaper than discovering it after deployment. Use the SSL Certificate Chain Validator to confirm the full chain, from your leaf certificate through any intermediates to a trusted root, validates correctly and in the right order.

For an already-deployed service, use the TLS Cipher Suite Explorer to audit which cipher suites a server actually negotiates and flag any that are outdated or weak, and the SSL Expiration Checker to monitor how much runway remains before a certificate needs renewal — the single most common, most avoidable cause of a sudden production TLS outage is a certificate nobody was tracking quietly expiring.

To audit whether a certificate was issued for your domain without your knowledge — a real attack vector when a CA is compromised or tricked — use the Certificate Transparency Lookup to search the public CT logs every publicly-trusted CA is required to publish to, and confirm every certificate listed for your domain is one you actually requested.

Common Mistakes and Troubleshooting

Mistake: deploying a leaf certificate without its required intermediate certificate(s). Many browsers cache intermediates from prior visits and won't show an error, while a fresh client or a strict validator will fail the chain — always deploy the full chain (leaf plus intermediates), not just the leaf certificate alone.

Mistake: letting a certificate's expiration date go unmonitored until it actually expires. Because a valid certificate produces no warning signs before its expiry, this is one of the few TLS failures that's entirely predictable in advance and entirely avoidable with routine monitoring, yet remains one of the most common causes of unplanned outages.

Troubleshooting: if a browser reports a chain validation failure despite the certificate itself looking correct, check the intermediate certificates first — a missing, wrong-order, or expired intermediate is a far more common cause than a problem with the leaf certificate itself.

Troubleshooting: if a CSR is rejected by a CA, decode it first to confirm the subject fields (especially the exact domain name and any Subject Alternative Names) match precisely what you intended — a mismatched or malformed field in the original CSR is a more common rejection cause than a CA-side issue.

Standards and Specifications

The X.509 certificate format itself is defined by ITU-T X.509 and profiled for internet use by RFC 5280, which specifies the certificate and CRL (Certificate Revocation List) structure actually used in TLS.

Certificate Signing Requests follow the PKCS #10 format, defined by RFC 2986. The broader PKCS key and certificate format family (including PKCS #1 for RSA keys) is defined by RFC 8017 and related documents.

Certificate Transparency, the public-logging system this hub's CT lookup tool queries, is defined by RFC 6962 (and its successor RFC 9162), created specifically to make undetected mis-issuance of certificates structurally harder.

JSON Web Key (JWK), the key-format this hub's JWK tools generate and convert, is defined by RFC 7517 — distinct from RFC 7519 (JWT) and RFC 7515 (JWS), which the Authentication & Tokens Lab hub covers for token construction and signing.

Decision Guidance: Validation Levels, Key Types, and Cipher Suites

Certificate validation level (Domain Validation, Organization Validation, Extended Validation) trades issuance speed and cost against the depth of identity verification a CA performs — DV is sufficient for most services where proving domain control is the actual security requirement; OV and EV add organizational identity checks that matter more for certain compliance or user-trust contexts than for the cryptographic security of the connection itself, which is identical across all three levels.

For the underlying key type a certificate's public key uses, the same RSA-versus-ECC tradeoff applies here as anywhere else asymmetric cryptography is used — see the RSA vs ECC comparison in the Encryption hub for the detailed breakdown; most modern deployments default to ECC for its smaller key size and faster handshakes unless a specific compatibility requirement calls for RSA.

When auditing a server's negotiated cipher suites, prioritize removing suites that use deprecated algorithms (RC4, 3DES, or SHA-1-based MACs) or that don't provide forward secrecy, over chasing marginal performance differences between two already-modern suites — the security gap between a modern and a deprecated cipher suite is far larger than the practical difference between two reasonable modern choices.

Key Formats and SSH Keys

The same cryptographic key can be represented in several different text or binary formats depending on what system needs to read it: PEM (base64-encoded, with descriptive header/footer markers) is the most common for TLS certificates and keys; JWK (a JSON object with named fields for the key's components) is the format web-oriented token systems expect; and SSH has its own distinct public-key line format, unrelated to either.

Use the Public Key Extractor to pull just the public key out of a certificate or a private key file when you need to share only the non-sensitive half, and the Private Key Inspector to verify a private key's algorithm, size, and passphrase-protection status without ever transmitting the key itself anywhere.

Use the JWK Generator to produce a new key directly in JWK format, or the JWK ↔ PEM Converter when a key exists in one format but the system you're integrating with expects the other — a common friction point when a certificate-issued key needs to be used by a JWT-signing library that only accepts JWK input.

SSH keys follow their own format, distinct from X.509 entirely — no certificate authority or chain of trust is involved by default; instead, trust is established the first time you connect to a new host (see the Hashing & Integrity hub's coverage of SSH key fingerprinting for that verification step). Use the SSH Key Generator to create a new key pair and the SSH Public Key Decoder to inspect an existing public key's algorithm, size, and any embedded comment field.

Related Developer Hubs

Explore neighboring topics that connect to this one.

Frequently Asked Questions

What is the difference between a CSR and a certificate?
A CSR (Certificate Signing Request) is what you submit to a certificate authority — it contains your public key and requested identity, signed with your private key to prove you hold it. The certificate is what the CA sends back: your CSR's information, now signed by the CA itself, making it trusted by anyone who trusts that CA.
Why does my certificate work in some browsers but not others?
This is almost always a missing intermediate certificate. Some browsers cache intermediates from previous visits to other sites and can complete the chain anyway; others, or a fresh client with no cache, will fail unless your server sends the complete chain — leaf plus all intermediates — every time.
What is Certificate Transparency and why does it matter?
Certificate Transparency requires publicly-trusted CAs to publish every certificate they issue to public, auditable logs. This makes it possible to detect a certificate mis-issued for your domain — whether from a compromised CA or a social-engineering attack — that you never requested, by searching the logs for your domain.
Do I need Extended Validation (EV) for better security?
No — the cryptographic security of the connection is identical across Domain Validation, Organization Validation, and Extended Validation certificates. The differences are in how much identity verification the CA performs before issuing the certificate, which matters for organizational trust and compliance contexts, not for the strength of the encryption itself.
What is the difference between PEM and JWK key formats?
PEM is a base64-encoded text wrapper around binary (DER) key or certificate data, the standard format for TLS. JWK represents the same kind of key data as a JSON object with named fields, the format expected by most JSON Web Token (JWT) tooling. The same underlying key can be converted between the two.
Are SSH keys and TLS certificates the same kind of trust system?
No — SSH keys use trust-on-first-connection (verified by comparing key fingerprints, covered in the Hashing & Integrity hub), with no certificate authority involved by default. TLS certificates use a hierarchical chain of trust rooted in a small set of CAs pre-trusted by your operating system or browser. Both ultimately rely on public/private key pairs, but the trust models are fundamentally different.
How far in advance should I renew a certificate before it expires?
Enough time to catch and fix any renewal problem before the old certificate actually expires — many teams automate renewal at roughly a third of the certificate's total validity remaining, and separately monitor expiration directly with a tool like the SSL Expiration Checker as a backstop in case automated renewal silently fails.