O Que e X.509?
X.509 e o padrão do ITU-T para certificados de chave publica - usado em TLS/SSL (HTTPS), S/MIME (e-mail assinado), code signing, EAP-TLS (Wi-Fi corporativo), client authentication, ICP-Brasil e dezenas de outros cenários. Um certificado X.509 associa uma chave publica a uma identidade (domínio, CPF, organização) através da assinatura de uma Autoridade Certificadora (CA) em quem você já confia.
A estrutura interna e ASN.1 codificada em DER - um formato binário hierarquico. PEM e apenas DER em Base64 com cabecalhos -----BEGIN CERTIFICATE----- para ser texto-amigavel. Os campos principais de um X.509 v3:
Campos Principais
- Subject - identidade do dono do certificado (CN, O, OU, C, etc.)
- Issuer - identidade da CA que assinou
- Serial Number - identificador único atribuído pela CA (importante para revogação)
- Validity - notBefore / notAfter
- Signature Algorithm - algoritmo usado pela CA (ex: sha256WithRSAEncryption)
- Subject Public Key Info - a chave publica e seu algoritmo (RSA-2048, P-256, Ed25519, etc.)
Extensões Importantes (X.509 v3)
- Subject Alternative Name (SAN) - DNS names, IPs, URIs, e-mails para os quais o cert e valido. Desde 2017, navegadores só olham SAN, não CN.
- Basic Constraints - CA:TRUE/FALSE e pathLenConstraint. Diz se o cert pode emitir outros certs.
- Key Usage - finalidades da chave: digitalSignature, keyEncipherment, keyCertSign, etc.
- Extended Key Usage - finalidades específicas: serverAuth (TLS server), clientAuth (mTLS), codeSigning, etc.
- Subject Key Identifier (SKI) - hash da chave publica, usado para encadeamento.
- Authority Key Identifier (AKI) - SKI da CA que assinou. Liga este cert ao cert da CA.
- Authority Information Access (AIA) - URL para baixar o cert da CA (caIssuers) e URL do responder OCSP.
- CRL Distribution Points (CDP) - URLs onde baixar listas de revogação.
- Certificate Transparency (SCT) - timestamps assinados de logs CT. Obrigatório em certs públicos modernos.
Checks de Lint que o Parser Aplica
- Expirado ou perto de expirar - alerta com 90/60/30/0 dias restantes
- Algoritmo de assinatura fraco - SHA-1 e MD5 são rejeitados em TLS público ha anos
- Chave RSA < 2048 bits - inseguro pelos padrões atuais (NIST recomenda ≥2048)
- SAN ausente - cert TLS público precisa de SAN, não basta CN
- End-entity com CA:TRUE - falha grave, equivale a permitir emissao arbitrária
- Validade > 398 dias - desde set/2020 navegadores rejeitam TLS público com validade maior
- Sem extendedKeyUsage para serverAuth - cert que claramente e de servidor mas não declara o EKU
Perguntas Frequentes
X.509 e o padrão de certificado digital usado em TLS, S/MIME e code signing. Associa uma chave publica a uma identidade através da assinatura de uma CA.
DER e binário, PEM e DER em Base64 com cabecalhos. Para configurar Apache/Nginx/HAProxy o padrão e PEM. Para clientes Windows/Java geralmente DER. Esta ferramenta aceita ambos.
SAN lista todos os hostnames/IPs/URIs para os quais o certificado e valido. Desde 2017 navegadores só olham SAN - CN do subject e ignorado.
CA:TRUE indica que o certificado pode assinar outros certificados (CA intermediária ou raiz). End-entity sempre deve ter CA:FALSE.
X.509 e extensivel - vários OIDs são específicos de uma CA, de Certificate Transparency, EV ou ICP-Brasil. Cobrimos as mais relevantes; outros são mostrados por OID numerico.
Não. Tudo roda no navegador via JavaScript e WebCrypto. Nada sai do seu cliente - você pode analisar certificados privados com segurança.
Sua empresa precisa de governança de certificados?
PKI, gestão de certificados e mTLS sob medida
Implementamos PKI corporativa (CA própria), inventário e renovação automática de certs públicos, mTLS para APIs internas e validação de cadeia em ambientes complexos.
Solicitar Proposta