Identidade, confiança, emissão, validação, revogação e operação de certificados em TLS, mTLS e API Gateways
Edição aprofundada — material de estudo e consulta profissional
Por João Ricardo Dutra••Material integral
Figura 8.1 - Visão geral do ecossistema de certificados e .
Este capítulo explica como certificados digitais transformam chaves públicas em identidades verificáveis. O leitor acompanhará o modelo , a construção e validação de cadeias, a emissão por autoridades certificadoras, a revogação, os formatos de armazenamento e a operação desses elementos em , , e ambientes corporativos.
Objetivos do capítulo
Diferenciar chave pública, certificado, identidade, confiança e autorização, evitando tratar esses conceitos como equivalentes.
Compreender os componentes de uma : titular, Registration Authority, Certification Authority, repositórios, políticas, auditores e partes confiantes.
Ler a estrutura de um certificado v3, incluindo campos obrigatórios, extensões críticas, nomes, usos de chave e identificadores de autoridade.
Distinguir construção de cadeia, validação de caminho e decisão de confiança, incluindo âncoras, intermediárias, políticas e restrições.
Entender o ciclo de emissão: geração da chave, PKCS #10, validação, assinatura, publicação, instalação, renovação, rotação, revogação e destruição.
Compreender CRLs, , stapling, certificados de curta duração e os compromissos entre segurança, privacidade e disponibilidade.
Reconhecer formatos , , , JKS e interfaces PKCS #11, diagnosticando erros de cadeia, chave privada e conversão.
Aplicar certificados em de servidor, autenticação , Axway , Azure Management e integrações de .
Executar estruturado com OpenSSL, de , inspeção de trust stores e análise de datas, , e revogação.
Como estudar este capítulo
Certificados digitais reúnem várias camadas ao mesmo tempo: criptografia assimétrica, formatos ASN.1, regras de identidade, políticas organizacionais, repositórios, protocolos de revogação e decisões de confiança. A melhor forma de estudar é separar as perguntas. Primeiro: qual identidade o certificado afirma? Segundo: quem assinou essa afirmação? Terceiro: por que o sistema confia no emissor? Quarto: a cadeia atende às regras de tempo, uso, nome, política e revogação?
O capítulo usa o perfil de Internet definido pela 5280 como base, mas mostra que uma real não é apenas um conjunto de certificados. Ela exige governança, proteção de chaves, perfis de emissão, auditoria, automação e resposta a incidentes. Em cada seção, conecte a teoria a um fluxo concreto: o certificado apresentado por um cliente, o certificado do listener de um ou o certificado usado pelo para autenticar-se perante um .
Regra editorial para diagramas
Para impedir textos quebrados dentro de caixas, os diagramas deste capítulo usam apenas rótulos curtos. Explicações técnicas completas permanecem no corpo do texto. As caixas de destaque do documento têm altura automática e margens internas ampliadas, sem dimensões verticais fixas.
8.1 Da chave pública ao certificado digital
Uma chave pública isolada permite verificar uma assinatura ou participar de um protocolo de estabelecimento de chaves, mas não informa, por si só, quem controla a chave privada correspondente. Um atacante poderia gerar seu próprio par de chaves e afirmar que a chave pública pertence a um banco, a um domínio ou a uma aplicação. O problema central não é matemático: é criar uma associação verificável entre um identificador e uma chave.
O certificado digital resolve esse problema ao encapsular a chave pública, dados de identidade, período de validade, restrições de uso e metadados, protegendo o conjunto com a assinatura digital de um emissor. A assinatura não torna todas as informações verdadeiras por natureza; ela permite verificar que o emissor assumiu responsabilidade técnica pela declaração. A parte confiante ainda precisa decidir se reconhece aquele emissor, se o perfil é adequado e se a identidade apresentada corresponde ao contexto da operação.
Em de servidor, o certificado liga uma chave pública a nomes ou endereços . Em , ele pode ligar uma chave a uma aplicação, dispositivo, parceiro ou pessoa jurídica. Em assinatura de código, ele associa uma chave a uma identidade de publicador. A mesma estrutura pode atender a finalidades diferentes, mas extensões, políticas e processos de validação determinam o que o certificado realmente pode provar.
8.2 O que é uma Infraestrutura de Chaves Públicas
Figura 8.2 - Papéis essenciais em uma Infraestrutura de Chaves Públicas.
, ou Public Key Infrastructure, é o conjunto de políticas, processos, pessoas, serviços, equipamentos e softwares usados para emitir, manter, distribuir, validar e revogar certificados e pares de chaves. A infraestrutura inclui autoridades certificadoras, sistemas de registro, repositórios de certificados e status, módulos criptográficos, procedimentos de auditoria, segregação de funções e documentos normativos.
A Certification Authority, ou , assina certificados e listas de revogação. A Registration Authority, ou , valida informações e autoriza pedidos de emissão, mas pode não possuir a chave de assinatura da . O titular controla ou utiliza a chave privada vinculada ao certificado. A parte confiante valida o certificado antes de aceitar a identidade. Repositórios disponibilizam certificados, CRLs, informações de política ou respostas de status. Em uma madura, esses papéis são separados para reduzir fraude e limitar o impacto de um comprometimento.
Também existem papéis de governança. A autoridade de política define requisitos de identificação, algoritmos, prazos, usos e responsabilidades. Operadores administram componentes. Auditores verificam se práticas correspondem às políticas. Equipes de segurança protegem chaves, analisam eventos e coordenam revogação. Portanto, confiar em um certificado significa confiar em uma cadeia técnica e, simultaneamente, em uma cadeia de processos humanos e organizacionais.
Componentes e responsabilidades de uma PKI.
Componente
Função principal
Risco se comprometido
CA raiz
Origina uma âncora ou hierarquia de confiança.
Comprometimento pode exigir substituição ampla de confiança.
CA intermediária
Emite certificados finais ou outras intermediárias sob restrições.
Permite emissão indevida dentro do escopo autorizado.
RA
Valida identidade e aprova solicitações.
Pode autorizar certificados para identidades erradas.
Titular
Controla a chave privada e usa o certificado.
Roubo da chave permite personificação até bloqueio ou expiração.
Parte confiante
Constrói e valida o caminho antes de confiar.
Validação incompleta aceita identidades ou usos inválidos.
Repositório de status
Publica CRL, OCSP, certificados e metadados.
Indisponibilidade ou dados desatualizados afetam a decisão.
8.3 , ASN.1 e codificação
é uma família de padrões para certificados de chave pública, listas de revogação e atributos. Na Internet, a 5280 define um perfil de certificados v3 e CRLs v2. Um perfil restringe opções de um padrão amplo para que implementações independentes consigam interoperar. Nem tudo que a sintaxe permite é apropriado para público ou para uma corporativa.
A estrutura é descrita em ASN.1, uma linguagem formal para definir tipos de dados. O certificado normalmente é codificado com , um subconjunto determinístico das Basic Encoding Rules. assegura uma representação única para os valores, característica importante porque a assinatura digital é calculada sobre bytes específicos. Alterar a codificação, mesmo sem mudar o significado aparente, produz bytes diferentes e invalida a assinatura.
Ferramentas frequentemente mostram o certificado em formato textual, mas o objeto assinado continua sendo binário. é apenas uma embalagem textual em torno do , acompanhada por linhas como BEGIN CERTIFICATE. Entender essa diferença evita confundir representação, estrutura e conteúdo: define o modelo, ASN.1 descreve a sintaxe, codifica os bytes e facilita transporte em arquivos e configurações textuais.
8.4 Anatomia de um certificado v3
Figura 8.3 - Estrutura conceitual de um certificado .
O objeto Certificate contém três partes: tbsCertificate, signatureAlgorithm e signatureValue. A sigla TBS significa to be signed. Dentro dessa parte ficam versão, número de série, algoritmo, issuer, validade, subject, SubjectPublicKeyInfo e extensões. A calcula a assinatura sobre a codificação do tbsCertificate. O verificador usa a chave pública do emissor para verificar signatureValue.
O número de série identifica o certificado dentro do domínio do emissor e é usado em CRLs e consultas . O intervalo de validade contém notBefore e notAfter. Issuer identifica a entidade emissora; subject identifica o titular quando esse campo é utilizado. SubjectPublicKeyInfo inclui o algoritmo e a chave pública. As extensões v3 expressam nomes alternativos, restrições de autoridade, usos autorizados, políticas, pontos de distribuição e relações entre certificados.
Há dois campos de algoritmo de assinatura: um dentro de tbsCertificate e outro no objeto externo. Eles precisam ser consistentes. O algoritmo da assinatura do certificado não é necessariamente igual ao algoritmo da chave pública do titular. Por exemplo, uma com chave pode assinar um certificado que carrega uma chave pública elíptica. O que importa é que o verificador suporte o algoritmo usado pelo emissor e o algoritmo associado à chave do titular para o protocolo posterior.
Campos de um certificado e perguntas de diagnóstico.
Campo
Significado operacional
Pergunta de diagnóstico
Serial number
Identificador único sob um emissor.
O serial consultado em CRL/OCSP é o correto?
Issuer
Nome do emissor declarado.
Existe um certificado emissor compatível e confiável?
Validity
Janela temporal de uso.
Relógio, timezone e notBefore/notAfter estão corretos?
Subject
Identidade nominal do titular.
O perfil usa subject ou depende principalmente de SAN?
SubjectPublicKeyInfo
Algoritmo e chave pública do titular.
A chave é suportada e corresponde à chave privada instalada?
Extensions
Nomes, usos e restrições.
Alguma extensão crítica é desconhecida ou incompatível?
Signature
Proteção de integridade e autoria do emissor.
A assinatura verifica com a chave pública do emissor?
8.5 Distinguished Names, Subject e Issuer
Subject e issuer costumam usar Distinguished Names, estruturas compostas por Relative Distinguished Names. Elementos comuns incluem countryName, organizationName, organizationalUnitName e commonName. A ordem, a codificação e as regras de comparação podem ser mais complexas do que uma simples comparação textual. Duas representações visualmente parecidas não são necessariamente idênticas em nível de codificação.
Em certificados modernos, o Common Name não deve ser tratado como fonte principal para validação de hostname quando Subject Alternative Name está presente. O foi criado para representar formas de nome adequadas ao protocolo, como dNSName, iPAddress, rfc822Name e . Sistemas corporativos ainda podem usar para seleção de políticas, mas depender de texto livre de subject sem um perfil rígido gera fragilidade e ambiguidades.
Issuer e subject também não bastam para construir uma cadeia de forma segura. Diferentes CAs podem compartilhar nomes semelhantes ou até iguais. Identificadores de chave, assinaturas, restrições e dados do caminho participam da decisão. Uma validação que apenas compara issuer do certificado filho com subject de um candidato não prova que o candidato é o emissor correto.
8.6 Subject Alternative Name e validação de identidade
Figura 8.4 - Validação do identificador solicitado contra Subject Alternative Name.
Para uma conexão , o cliente inicia o acesso com um identificador: normalmente um nome . Após validar assinatura e cadeia, ele deve verificar se esse identificador aparece de forma válida no certificado. Um dNSName é comparado segundo regras específicas de nomes . Um acesso por endereço exige uma entrada iPAddress adequada; escrever o como texto em dNSName não produz a mesma semântica.
Wildcards reduzem a quantidade de certificados, mas possuem limites e ampliam o impacto de um vazamento de chave. Um nome como *.exemplo.com normalmente cobre um único rótulo, como .exemplo.com, e não deve ser presumido como cobertura para a.b.exemplo.com. Em ambientes internos, wildcards excessivamente amplos podem permitir que a mesma chave represente muitos serviços não relacionados, dificultando segregação e resposta a incidentes.
e resolvem problemas diferentes. informa ao servidor, durante o , qual nome o cliente pretende acessar, permitindo selecionar um certificado. define quais identificadores o certificado está autorizado a representar. O servidor pode escolher um certificado com base no e, ainda assim, enviar um certificado cujo não corresponde ao nome. Nesse caso, a validação deve falhar.
8.7 Extensões críticas e não críticas
Cada extensão possui um identificador , um valor e um indicador critical. Se uma implementação não reconhece ou não consegue processar uma extensão marcada como crítica, a validação deve falhar. Uma extensão não crítica desconhecida pode ser ignorada, embora seu valor ainda possa ser relevante para aplicações específicas. Marcar tudo como crítico prejudica interoperabilidade; não marcar uma restrição essencial como crítica pode permitir que consumidores a ignorem.
A criticidade não significa que a extensão seja importante em termos de negócio, mas define o comportamento diante de desconhecimento. Um perfil de certificado precisa especificar quais extensões são obrigatórias, seus valores, criticidade e interações. CAs não devem apenas copiar extensões solicitadas em um : devem aplicar o perfil autorizado e rejeitar ou substituir atributos que o solicitante não tem permissão para escolher.
Figura 8.5 - Famílias de extensões usadas em validação e operação.
8.8 Basic Constraints, Key Usage e Extended Key Usage
Basic Constraints informa se o certificado pode atuar como . O campo verdadeiro identifica autoridade certificadora, e pathLenConstraint pode limitar quantas CAs subordinadas não autoemitidas podem aparecer abaixo dela. Um certificado final de servidor ou cliente normalmente deve ter falso. Aceitar um certificado final como emissor por ignorar Basic Constraints transforma uma credencial comum em autoridade indevida.
Key Usage restringe operações criptográficas básicas, como digitalSignature, keyEncipherment, keyAgreement, keyCertSign e cRLSign. Certificados de precisam de keyCertSign para assinar certificados e, quando publicam CRLs, cRLSign. Para , os bits apropriados dependem do algoritmo e da versão do protocolo. Configurações rígidas devem seguir o perfil, sem assumir que qualquer chave pública serve para qualquer operação.
Extended Key Usage, ou , expressa finalidades de aplicação, como serverAuth, clientAuth, codeSigning e OCSPSigning. Um certificado pode ter uma chave matematicamente capaz de assinar, mas estar semanticamente proibido de autenticar um cliente. que validam devem considerar e não apenas cadeia e validade. Da mesma forma, um certificado de servidor sem serverAuth pode ser rejeitado por clientes conformes.
Extensões X.509 e seus efeitos.
Extensão
Exemplo
Efeito
Basic Constraints
CA=TRUE, pathLen=0
Autoriza emissão, mas impede intermediárias adicionais abaixo da CA.
Key Usage
digitalSignature
Autoriza uso da chave em assinatura dentro do perfil.
Key Usage
keyCertSign
Autoriza a chave de CA a assinar certificados.
Extended Key Usage
serverAuth
Declara finalidade de autenticação de servidor TLS.
Extended Key Usage
clientAuth
Declara finalidade de autenticação de cliente TLS.
Subject Alternative Name
DNS:api.exemplo.com
Vincula a chave ao identificador usado pelo cliente.
8.9 , , AIA e pontos de distribuição
Subject Key Identifier, ou , identifica a chave pública do certificado. Authority Key Identifier, ou , ajuda a identificar a chave do emissor. Esses valores auxiliam a construção de cadeia quando existem emissores com nomes iguais, renovações de ou múltiplos caminhos. Eles não substituem a verificação de assinatura, mas reduzem ambiguidades ao selecionar candidatos.
Authority Information Access pode indicar locais para obter certificados emissores e serviços . Distribution Points indica onde recuperar listas de revogação. Esses campos são instruções para construção e status, não garantias de disponibilidade. Ambientes isolados podem bloquear acesso externo, e um pode depender de , repositório corporativo ou cadeia fornecida pelo peer.
A recuperação automática de intermediárias por AIA cria diferenças entre clientes. Um navegador pode completar uma cadeia que uma JVM, appliance ou biblioteca não completa da mesma maneira. Por isso, o servidor deve apresentar a cadeia intermediária necessária, sem depender de downloads oportunistas. A raiz geralmente não precisa ser enviada: ela deve estar no da parte confiante.
8.10 Certificate Policies e Name Constraints
Certificate Policies contém OIDs que representam políticas sob as quais o certificado foi emitido. Uma política pode indicar nível de validação, comunidade de confiança, requisitos contratuais ou perfil setorial. A presença de um não cria confiança automaticamente: a parte confiante precisa conhecer seu significado, mapear políticas e configurar os OIDs aceitáveis quando a política for relevante.
Policy Constraints, Policy Mappings e Inhibit Any Policy participam do processamento de políticas ao longo do caminho. A 9618 atualizou o algoritmo de validação de políticas da 5280 para evitar comportamento exponencial em casos adversos, preservando resultado equivalente. Esse exemplo mostra que até algoritmos de validação aparentemente administrativos podem possuir impacto de segurança e disponibilidade.
Name Constraints permite restringir namespaces que uma subordinada pode certificar, como determinados domínios, e-mails ou redes . É uma ferramenta poderosa para CAs privadas, intermediárias delegadas e integrações entre organizações. Entretanto, suporte inconsistente em sistemas legados e complexidade de nomes exigem testes. Uma tecnicamente restrita é preferível a uma com poder amplo controlado apenas por procedimento.
8.11 Hierarquias, raízes e intermediárias
Figura 8.6 - Hierarquia de raiz, intermediárias e certificados finais.
Uma raiz costuma possuir certificado autoassinado, no qual subject e issuer representam a própria entidade e a assinatura é produzida pela chave privada correspondente. O fato de ser autoassinado não cria confiança. A confiança surge quando a chave ou o certificado da raiz é instalado explicitamente como trust anchor por uma organização, sistema operacional, navegador, runtime ou aplicação.
A raiz normalmente permanece offline ou fortemente protegida e assina CAs intermediárias. Intermediárias executam emissão cotidiana e permitem segmentação por finalidade, ambiente, região, parceiro ou nível de segurança. Se uma intermediária for comprometida, a organização pode revogá-la e substituí-la sem trocar imediatamente todas as raízes. Essa arquitetura reduz a frequência de uso da chave mais sensível.
Cadeias alternativas podem existir por cross-certification ou por intermediárias com mais de um emissor. O mesmo certificado final pode ser validado por caminhos diferentes dependendo do e dos certificados disponíveis. Isso explica por que uma conexão funciona em um cliente e falha em outro. O diagnóstico precisa capturar a cadeia realmente construída, não apenas a cadeia que o servidor pretendia fornecer.
8.12 Construção da cadeia versus validação do caminho
Figura 8.7 - Diferença entre construir uma cadeia e validar o caminho.
Construção de cadeia é o processo de localizar certificados candidatos até uma . O motor pode usar a cadeia enviada pelo peer, certificados locais, , AIA e regras próprias de seleção. O resultado é um ou mais caminhos candidatos. A ordem recebida nem sempre é a ordem usada, e certificados extras podem ser ignorados ou introduzir caminhos inesperados.
Validação de caminho aplica regras ao caminho escolhido: verifica assinaturas, validade temporal, Basic Constraints, Key Usage, , políticas, Name Constraints, extensões críticas e, conforme a política local, status de revogação. Depois disso, a aplicação ainda verifica identidade do serviço, como hostname, e regras de negócio. Uma cadeia criptograficamente correta pode ser inadequada para serverAuth, clientAuth ou para a identidade solicitada.
A é uma entrada de configuração, não necessariamente um certificado processado como os demais. Implementações podem representar âncoras como certificados autoassinados ou como nome e chave pública. O importante é compreender que a assinatura da raiz sobre si mesma não é o fundamento da confiança; o fundamento é a decisão administrativa de confiar naquela chave sob determinados parâmetros.
8.13 Emissão, e prova de posse
Figura 8.8 - Ciclo de vida operacional de um certificado.
A emissão começa com a geração do par de chaves no local de custódia definido. Sempre que possível, a chave privada deve nascer no componente que a utilizará ou em / , evitando transporte. Em seguida, o titular produz uma Certificate Signing , normalmente PKCS #10. O contém informações de solicitação, chave pública, atributos e uma assinatura gerada com a chave privada correspondente.
A assinatura do demonstra posse da chave privada de assinatura associada, mas não prova a identidade declarada. A ou precisa autenticar o solicitante e validar nomes, organização, domínio, aplicação ou dispositivo conforme a política. A também não deve aceitar cegamente Basic Constraints, ou solicitados. Ela emite um certificado segundo um perfil e uma autorização, podendo modificar ou rejeitar atributos.
Após emissão, o certificado e a cadeia são instalados no serviço, enquanto a chave privada permanece protegida. A implantação deve verificar correspondência entre chave e certificado, cadeia completa, permissões, alias, formato e senha. A operação continua com inventário, monitoramento de expiração, renovação, rotação, revogação e destruição segura. Um certificado esquecido em um listener secundário pode causar indisponibilidade mesmo que o certificado principal tenha sido renovado.
O uso de -nodes deixa a chave sem criptografia no arquivo e é apropriado apenas para laboratório controlado. Em produção, a proteção depende do modelo operacional: senha, ACL, secret manager, , ou identidade gerenciada. Automatizar não significa armazenar chaves em texto claro indiscriminadamente.
8.14 Perfis de certificado e separação de finalidades
Um perfil define campos, extensões, algoritmos, tamanhos de chave, duração, nomes permitidos e processo de validação para uma finalidade. Perfis comuns incluem raiz, intermediária, server, client, assinatura de código, assinatura de documentos e responder. Separar perfis reduz permissões e facilita auditoria. Uma única emitindo qualquer tipo de certificado aumenta o raio de impacto de erros de política.
Certificados de pessoa, aplicação e dispositivo podem usar estruturas semelhantes, mas exigem fontes de identidade diferentes. Um certificado de workload pode ser emitido automaticamente com validade curta. Um certificado de parceiro externo pode exigir contrato e validação organizacional. Um certificado de administrador pode exigir proteção em físico. A tecnologia não determina sozinha o nível de confiança; o perfil e o processo de emissão fornecem o contexto.
Em arquitetura corporativa, separe ao menos ambientes de produção e não produção, usos de servidor e cliente, e autoridades de emissão cotidiana das raízes. Quando parceiros precisam confiar apenas em uma parte da organização, uma intermediária dedicada e restrita é mais segura do que distribuir uma raiz corporativa ampla.
Perfis de certificado e cuidados operacionais.
Perfil
Campos/extensões típicos
Cuidado principal
CA raiz
CA=TRUE, keyCertSign, cRLSign, vida longa
Chave offline, cerimônia, backups e auditoria rigorosa.
CA intermediária
CA=TRUE, pathLen e restrições
Limitar namespace e finalidade; facilitar substituição.
TLS servidor
SAN, serverAuth, CA=FALSE
Nome correto, cadeia completa e rotação sem parada.
TLS cliente
clientAuth, identidade de workload/parceiro
Mapeamento para autorização e revogação rápida.
OCSP responder
OCSPSigning
Delegação e proteção contra respostas indevidas.
Assinatura de código
codeSigning
Custódia forte e evidência temporal de assinatura.
8.15 Validação de certificado de servidor
O cliente recebe a cadeia durante o e precisa verificar se há caminho até uma âncora confiável, se cada assinatura é válida, se os certificados estão dentro da validade e se as CAs estão autorizadas. Em seguida, valida o uso de servidor e compara o identificador solicitado com . Se qualquer etapa falha, prosseguir silenciosamente elimina a proteção contra personificação.
influencia qual certificado o servidor apresenta. Um teste sem pode receber o certificado padrão e gerar um falso diagnóstico de hostname. e podem terminar e iniciar uma nova conexão com ; nesse caso, existem validações independentes. O certificado visto pelo cliente externo não é necessariamente o certificado apresentado pelo ao .
Em clientes de máquina, é comum desativar validação para “resolver” ambientes de teste. Essa prática tende a migrar para produção. A solução correta é instalar a apropriada em um delimitado, emitir certificado com correto e ajustar relógio e cadeia. Trust-all transforma em cifragem sem autenticação do destino.
Esse comando mostra a cadeia enviada, o certificado selecionado pelo , detalhes de e resultado de verificação. Ele não substitui o comportamento exato de todas as bibliotecas, mas ajuda a separar conectividade, negociação e validação de certificado.
8.16 Certificados de cliente e
No unilateral, apenas o servidor apresenta certificado. No , o servidor solicita certificado do cliente e valida a cadeia apresentada. A chave privada permanece no cliente e participa da prova criptográfica durante o . O certificado pode identificar uma aplicação, parceiro ou dispositivo, oferecendo autenticação forte no canal.
Autenticação não é autorização. Após validar o certificado, o deve mapear a identidade para uma política: subject, , , serial, emissor, cadeia, ou cadastro interno. Confiar em qualquer certificado emitido por uma ampla pode conceder acesso a titulares não previstos. Uma de clientes dedicada, clientAuth, Name Constraints e registros de parceiros reduzem esse risco.
A rotação de exige sobreposição. Durante um período, o servidor pode precisar aceitar certificado antigo e novo ou confiar em duas intermediárias. O cliente deve instalar nova chave e certificado antes da retirada do antigo. O processo precisa considerar , múltiplas instâncias, , sessões e parceiros que atualizam em velocidades diferentes.
8.17 Revogação por
Figura 8.9 - Principais modelos de obtenção de status de certificado.
Uma Certificate Revocation List é assinada por uma ou emissor autorizado e contém certificados revogados identificados por serial, datas e motivos. A parte confiante baixa a , verifica assinatura e validade da lista e consulta o serial. CRLs permitem processamento local e podem funcionar em ambientes desconectados, mas crescem com o número de revogações e possuem intervalo entre publicações.
Delta CRLs podem carregar apenas mudanças desde uma base. Distribution Points permitem particionar listas por escopo. O projeto precisa definir periodicidade, nextUpdate, , indisponibilidade e comportamento quando a expira. Uma acessível por não precisa ser secreta, mas sua autenticidade depende da assinatura. A disponibilidade do repositório pode se tornar dependência crítica.
Motivos de revogação incluem comprometimento de chave, mudança de afiliação, substituição e cessação de operação. Alguns motivos afetam análise de incidente, mas o consumidor normalmente precisa, no mínimo, distinguir válido, revogado e status indeterminado. Revogar uma intermediária pode invalidar um grande conjunto de certificados e requer coordenação com trust stores e cadeias alternativas.
8.18 , stapling e certificados de curta duração
permite consultar o status de um certificado específico sem transferir uma inteira. A solicitação identifica emissor e serial; a resposta assinada informa good, revoked ou unknown, com tempos de produção e validade. Good significa que o responder não conhece revogação aplicável segundo seu escopo; não é uma afirmação universal de que a identidade ou todos os demais requisitos são válidos.
Consultas diretas criam dependência de disponibilidade e podem revelar ao responder quais serviços o cliente acessa. stapling permite ao servidor obter uma resposta e entregá-la durante o , reduzindo latência e exposição do cliente. A parte confiante precisa verificar assinatura, tempos e correspondência da resposta. Políticas de soft-fail melhoram disponibilidade, mas podem aceitar um certificado quando o serviço de status está indisponível; hard-fail aumenta segurança de revogação e risco de indisponibilidade.
Certificados de curta duração reduzem a janela de exposição e podem operar sem informação de revogação em perfis específicos. A 9608 define uma extensão para indicar ausência de revogação disponível em certos certificados. Esse modelo exige automação confiável: se a renovação falha, a expiração chega rapidamente. A decisão entre revogação online e curta duração depende do tempo de detecção, tempo de distribuição, criticidade, disponibilidade e capacidade de automação.
Situação da Web em julho de 2026
Os requisitos públicos do /Browser Forum passaram a limitar certificados de assinante emitidos desde 15 de março de 2026 a no máximo 200 dias. O cronograma oficial prevê 100 dias a partir de 15 de março de 2027 e 47 dias a partir de 15 de março de 2029. Esses limites se aplicam à Web pública; PKIs privadas devem definir prazos próprios, mas a tendência reforça automação e inventário.
8.19 Formatos e contêineres: , , e JKS
Figura 8.10 - Formatos comuns de certificados, cadeias e chaves.
é a codificação binária do objeto ASN.1. representa em com cabeçalhos textuais. Arquivos .cer ou .crt podem conter ou ; a extensão não determina o formato. Um arquivo também pode conter múltiplos certificados, uma chave privada, parâmetros ou um . Sempre inspecione o conteúdo em vez de confiar no nome.
, normalmente .p12 ou .pfx, é um contêiner que pode transportar chave privada, certificado final e cadeia, protegido por senha e mecanismos de integridade. É comum em Windows, navegadores, Java e produtos de . Uma importação pode falhar por algoritmo de proteção não suportado, senha, alias, ausência da chave privada ou cadeia incompleta.
JKS é um formato tradicional de Java. Versões modernas de Java também usam como padrão. e possuem papéis conceituais diferentes: o primeiro contém âncoras ou certificados confiáveis; o segundo contém identidades locais e chaves privadas, embora ferramentas possam armazenar ambos. PKCS #11 não é um formato de arquivo, mas uma interface para módulos criptográficos, como HSMs e .
# Inspecionar CSR e verificar sua assinatura
openssl req -in api.csr -noout -text -verify
# Inspecionar um PKCS#12 sem exportar a chave
openssl pkcs12 -in identidade.p12 -info -nokeys
8.20 Custódia da chave privada e
O certificado é público; a chave privada é o ativo sensível. Quem obtém a chave pode personificar o titular, assinar mensagens ou estabelecer sessões conforme o uso autorizado. A proteção precisa considerar geração, armazenamento, uso, backup, transporte, rotação, recuperação e destruição. Permissões de arquivo são apenas uma camada e podem ser insuficientes para chaves de ou serviços críticos.
HSMs protegem chaves em hardware ou módulos validados e executam operações sem exportar o material privado. KMSs fornecem gestão central, políticas, auditoria e integração, podendo usar por baixo. Para raízes, são comuns cerimônias, autenticação multifator, quorum e operação offline. Para workloads, automação e identidades de máquina reduzem cópias manuais e segredos estáticos.
Backup de chave de é diferente de backup de chave efêmera de serviço. Perder uma chave de pode impedir emissão, revogação ou continuidade; copiá-la excessivamente aumenta risco. Chaves de assinatura podem exigir arquivamento conforme política, enquanto chaves usadas para confidencialidade histórica podem demandar recuperação. Cada tipo de chave precisa de uma estratégia compatível com seu propósito e período criptográfico.
8.21 pública, privada e confiança explícita
A Web pública é voltada a nomes publicamente verificáveis e confiança distribuída por root stores de navegadores e sistemas. CAs públicas seguem requisitos do /Browser Forum e programas de root stores. Uma privada atende identidades internas, , dispositivos e workloads, com raízes distribuídas pela própria organização. Certificados privados não se tornam confiáveis externamente apenas por usar .
A vantagem da pública é interoperabilidade com clientes comuns. A privada oferece controle de namespace, perfil, validade e emissão. O custo é distribuir e governar confiança. Instalar uma raiz privada no sistema inteiro concede poder amplo à sobre muitos protocolos; quando possível, use trust stores específicos por aplicação e intermediárias restritas.
Certificados autoassinados de serviço podem funcionar quando a chave é distribuída por um canal confiável e fixada explicitamente, mas não escalam bem. Eles confundem rotação, inventário e validação. Uma privada permite renovar certificados mantendo a âncora, separar funções e revogar. Entretanto, uma privada mal protegida pode ampliar o impacto em vez de reduzi-lo.
8.22 Certificate Transparency, CAA e ACME
Certificate Transparency cria públicos append-only para certificados da Web , permitindo detectar emissões indevidas e aumentar auditabilidade. Precertificates e Signed Certificate Timestamps fazem parte desse ecossistema. CT não substitui validação de cadeia ou revogação, mas torna emissões observáveis e permite monitoramento de domínios.
CAA é um registro pelo qual o titular de um domínio pode indicar quais CAs estão autorizadas a emitir certificados para ele. A pública consulta CAA segundo os requisitos aplicáveis. CAA reduz certas emissões indevidas, mas não protege uma chave privada já comprometida e não substitui controle do domínio ou monitoramento.
ACME, definido na 8555, automatiza criação de conta, pedidos, desafios, finalização e obtenção de certificados. Desafios demonstram controle sobre identificadores. A automação reduz erros manuais e permite prazos curtos, mas credenciais de conta, permissões , agentes e tornam-se ativos críticos. Um invasor com acesso ao mecanismo de validação pode emitir certificados legítimos para uso malicioso.
8.23 Rotação sem indisponibilidade
Rotação não é apenas substituir um arquivo. É preciso identificar todos os pontos que terminam ou apresentam certificado: , listeners do , ingress controllers, , jobs, clientes e ambientes de recuperação. O inventário deve registrar titular, emissor, , serial, , validade, local, proprietário e processo de renovação.
Uma estratégia segura usa sobreposição. Para certificados de servidor, implante o novo certificado e confirme que todas as instâncias o apresentam antes de retirar o antigo. Para mudança de , distribua primeiro a nova âncora ou intermediária aos consumidores; depois emita e apresente a nova cadeia; por último remova confiança antiga. Inverter a ordem causa falhas de cadeia. Automação precisa de observabilidade. Monitorar apenas a data de expiração no repositório não garante que o listener ativo foi atualizado. Testes externos devem abrir , verificar serial e cadeia e cobrir cada e região. Alertas devem considerar tempo de correção, janelas de mudança e dependências de parceiros, não apenas avisar no último dia.
8.24 Certificados em e múltiplos saltos
Figura 8.11 - Certificados e trust stores independentes em cada salto de uma arquitetura de .
Em uma arquitetura com cliente, balanceador, e , cada conexão é independente. O balanceador pode apresentar um certificado ao cliente e usar outra identidade para falar com o . O pode validar a do e, em , apresentar seu próprio certificado de cliente. Diagnosticar “o certificado da ” sem indicar o salto leva a conclusões erradas.
No Axway , políticas podem verificar cadeias, consultar CRLs e aplicar filtros de validação. O produto também mantém certificados e chaves usados por listeners, assinatura e conexões de saída. A configuração deve separar certificados confiáveis de identidades com chave privada, definir fontes de revogação e proteger o material criptográfico. devem indicar em qual filtro e em qual estágio a validação falhou.
No Azure Management, certificados podem ser usados para autenticar clientes no tráfego de entrada, autenticar o perante e adicionar CAs personalizadas para validação de . Políticas podem examinar propriedades do certificado apresentado. Em topologias com Application ou outro à frente, é essencial saber onde o termina e se o certificado do cliente chega criptograficamente ao ou é transformado em metadado confiável por uma camada anterior.
Princípio operacional
Nunca trate subject, ou um cabeçalho com certificado como prova suficiente sem assegurar a autenticidade do canal que transporta essa informação. Quando um termina , o salto seguinte precisa autenticar o e proteger o metadado contra injeção ou sobrescrita.
8.25 estruturado
Figura 8.12 - Árvore inicial para diagnóstico de falhas de certificado.
Comece identificando o papel e o salto: certificado do servidor externo, certificado de cliente, certificado do para ou certificado de uma . Capture o hostname, , porta, cadeia recebida, efetivo, horário do sistema e política de revogação. Mensagens genéricas como unable to local issuer certificate ou certificate unknown descrevem sintomas, não necessariamente a causa raiz.
Falhas de tempo incluem certificado expirado, ainda não válido, ou fora da janela e relógio incorreto. Falhas de identidade incluem ausente, incompatível, acesso por e errado. Falhas de cadeia incluem intermediária não enviada, raiz ausente, / incompatível, assinatura inválida e caminho alternativo não confiável. Falhas de uso incluem Basic Constraints, Key Usage, ou extensão crítica não suportada.
Depois de reproduzir, compare o comportamento entre ferramentas. OpenSSL pode usar um conjunto de raízes diferente da JVM, do Windows ou do appliance. Um teste que funciona com -CAfile explícito prova que a cadeia pode ser validada com aquela âncora, não que o produto está configurado para usá-la. Verifique também se o certificado e a chave privada correspondem e se a instância ativa carregou a versão nova.
Sintomas frequentes de certificado e verificações iniciais.
Sintoma
Causas prováveis
Verificação
Hostname mismatch
SAN incorreto, SNI errado, acesso por IP.
Inspecionar SAN e repetir handshake com SNI correto.
Unknown CA
Raiz ausente, trust store errado, CA privada.
Listar âncoras efetivas e validar com CAfile explícito.
Unable to get issuer
Intermediária não enviada ou AIA inacessível.
Examinar cadeia entregue e instalar intermediária.
Certificate expired
Listener ainda usa versão antiga ou relógio errado.
Conferir serial apresentado por cada instância e horário.
Unsupported certificate purpose
EKU/KU incompatível.
Inspecionar extensões e perfil de emissão.
Revocation check failed
CRL/OCSP indisponível, expirado ou resposta inválida.
Testar endpoint, cache, nextUpdate e política de fail.
Private key mismatch
Certificado importado sem a chave correspondente.
Comparar chave pública derivada e alias do keystore.
# Validar cadeia com raiz e intermediária explícitas
openssl verify -CAfile raiz.pem -untrusted intermediaria.pem servidor.pem
# Mostrar datas, serial, emissor, subject e SAN
openssl x509 -in servidor.pem -noout \
-dates -serial -issuer -subject -ext subjectAltName
8.26 Estudos de caso
Caso 1 - cadeia incompleta após renovação. Um recebe um novo certificado de servidor emitido por outra intermediária. A equipe substitui apenas o certificado final, mas mantém a cadeia antiga. Navegadores que recuperam a intermediária por AIA funcionam; um parceiro Java falha. A correção é instalar e apresentar a nova cadeia, validar em clientes sem AIA e inventariar a associação entre certificado final e intermediárias.
Caso 2 - válido, autorização indevida. O confia em uma corporativa que emite certificados para milhares de usuários e aplicações. A política aceita qualquer cadeia válida e usa apenas o organizationName. Um certificado legítimo, mas não destinado ao parceiro, ganha acesso. A solução envolve ou intermediária dedicada, clientAuth, ou identificador estável, cadastro de autorização e revogação operacional.
Caso 3 - renovação de causa 502. O certificado do muda de uma pública para uma privada. O continua com antigo e rejeita o de saída. Para o cliente, o sintoma é erro de . A análise precisa separar de entrada e saída, capturar o erro do , instalar a nova com antecedência e manter sobreposição durante a migração.
Caso 4 - certificado aparentemente expirado. O repositório contém o certificado novo, mas uma instância do não recarregou a configuração e continua apresentando o antigo. Monitores alternam entre sucesso e falha. A solução é verificar serial e por nó, remover instância inconsistente, corrigir rollout e incluir teste ativo de no processo de implantação.
8.27 Laboratórios práticos
Laboratório 1 - leitura de certificado. Obtenha um certificado de laboratório, execute openssl x509 -text e identifique versão, serial, algoritmo de assinatura, issuer, validade, subject, chave pública, , Basic Constraints, KU, , , , AIA e Distribution Points. Explique qual identidade é afirmada e quais usos são permitidos.
Laboratório 2 - privada simples. Em ambiente descartável, crie uma raiz e uma intermediária, emita um certificado de servidor com e valide a cadeia. Compare validação quando a intermediária é omitida. Não reutilize as chaves de laboratório em sistemas reais; o objetivo é observar estrutura e fluxo, não construir uma de produção.
Laboratório 3 - erro de hostname. Emita um certificado para .lab.local e apresente-o em um serviço acessado por outro nome. Observe que a cadeia pode ser confiável e a assinatura correta, mas a identidade falha. Depois, repita com correto. Registre a diferença entre confiança no emissor e correspondência do nome.
Laboratório 4 - . Empacote chave, certificado final e intermediária em um .p12. Importe em um de teste, liste aliases e confirme se a entrada contém chave privada. Crie uma versão sem a intermediária e compare o comportamento do servidor. Esse exercício reproduz uma causa comum de falhas após renovação. Laboratório 5 - diagnóstico de . Use s_client com , capture a cadeia e execute verify com um explícito. Compare o resultado com curl ou uma JVM. Documente qual cada ferramenta usa e por que resultados podem divergir.
Resumo do capítulo
Certificado digital associa uma chave pública a identidade, período, usos e restrições sob assinatura de um emissor.
inclui governança, validação de identidade, CAs, RAs, repositórios, auditoria, proteção de chaves e resposta a incidentes.
v3 usa extensões para nomes, autoridade, usos, políticas, encadeamento e status; extensões críticas desconhecidas invalidam o caminho.
Construir uma cadeia é localizar um caminho; validar é aplicar assinaturas, tempo, restrições, usos, políticas, nomes e revogação.
A confiança na raiz é administrativa. O fato de um certificado raiz ser autoassinado não cria confiança automaticamente.
prova posse da chave correspondente, mas não prova a identidade declarada; a deve aplicar validação e perfil.
, , stapling e certificados curtos representam diferentes compromissos entre atualização, privacidade e disponibilidade.
, , e JKS têm papéis diferentes; extensão de arquivo não garante conteúdo nem presença de chave privada.
Em , cada salto possui identidade, cadeia e próprios. deve nomear o salto exato.
Rotação segura depende de inventário, sobreposição, automação, observabilidade e testes do certificado efetivamente apresentado.
Exercícios de revisão
Explique por que uma chave pública isolada não é suficiente para autenticar um servidor.
Diferencie , , titular, parte confiante e repositório.
Quais partes de um certificado são assinadas pela ?
Explique a diferença entre , ASN.1, e .
Por que é essencial para validação de hostname?
Qual é a diferença entre Basic Constraints, Key Usage e Extended Key Usage?
Como e auxiliam a construção da cadeia?
Por que encontrar uma cadeia até uma raiz não significa que o certificado é válido?
O que uma assinatura de prova e o que ela não prova?
Compare , , stapling e certificados de curta duração.
Por que a raiz normalmente não deve ser enviada pelo servidor durante o ?
Qual é a diferença entre e ?
Descreva uma estratégia de rotação quando a intermediária também será substituída.
Em , por que validar a cadeia não é suficiente para autorizar a chamada?
Um certificado possui cadeia válida, serverAuth e validade correta, mas o acesso falha por hostname. Explique.
Como um à frente de um altera a análise de certificados?
Quais riscos surgem quando uma organização instala sua raiz privada no global dos servidores?
Monte um checklist para diagnosticar unable to local issuer certificate.
Explique por que monitorar apenas arquivos no repositório não garante renovação bem-sucedida.
Proponha uma arquitetura de CAs para produção, homologação, certificados de servidor e certificados de cliente.
Glossário
Glossário de certificados digitais, PKI e X.509.
Termo
Definição
AKI
Authority Key Identifier; ajuda a identificar a chave do emissor.
Âncora de confiança
Chave ou certificado configurado como ponto inicial de confiança.
CA
Certification Authority; entidade que assina certificados e dados de status.
CRL
Lista assinada de certificados revogados.
CSR
Solicitação de certificado que inclui chave pública e prova de posse.
DER
Codificação binária determinística para estruturas ASN.1.
DN
Distinguished Name composto por atributos de nome.
EKU
Extended Key Usage; finalidades de aplicação autorizadas.
HSM
Módulo que protege chaves e executa operações criptográficas.
OCSP
Protocolo de consulta online de status de certificado.
OID
Identificador numérico de objeto usado em algoritmos, extensões e políticas.
PEM
Representação textual Base64 com cabeçalhos.
PKCS #12
Contêiner que pode armazenar chave privada, certificado e cadeia.
RA
Registration Authority; valida dados e aprova emissão.
SAN
Subject Alternative Name; nomes e identificadores vinculados ao certificado.
SKI
Subject Key Identifier; identificador da chave pública do certificado.
Trust store
Conjunto de âncoras e certificados confiáveis para validação.
X.509
Padrão de certificados, CRLs e estruturas relacionadas.
Referências oficiais e leituras recomendadas
5280 - Internet Public Key Infrastructure Certificate and Profile
SP 800-57 Part 1 Rev. 5 - Recommendation for Key Management
/Browser Forum - Baseline Requirements for Server Certificates
Microsoft - Secure using client certificate authentication in Management
Microsoft - Secure Management using client certificates
Microsoft - Add a custom certificate to Management
Axway - Certificate validation filters
Axway - administration and certificate chain checks
Observação sobre atualização normativa
A 5280 permanece a base do perfil PKIX, mas recebe atualizações e interage com padrões posteriores. Requisitos da Web e documentações de produtos mudam ao longo do tempo. Ao aplicar o conteúdo em produção, confirme a versão vigente das políticas da , do /Browser Forum, do runtime e do utilizado.