Extrator de Chave Pública

Extrai chave pública de certificado ou CSR

Certificate, CSR, or Public Key

Extracted Public Key

Paste a certificate or CSR to extract the public key

O Public Key Extractor isola a chave pública de certificados X.509 ou Solicitações de Assinatura de Certificado, exibindo em formato padrão SubjectPublicKeyInfo (SPKI) -- essencial para verificação de correspondência de chave, public key pinning, e confirmação que um certificado foi emitido para a chave privada correta. Cole um certificado ou CSR e obtenha a chave pública extraída com algoritmo, tamanho, e hash SPKI.

Entendendo Extração de Chave Pública

Cada certificado e CSR contém uma chave pública, mas essa chave está enterrada dentro de uma estrutura de dados maior junto com o nome de subject, issuer, datas de validade, extensões, e assinaturas. Às vezes você precisa apenas da chave em si -- despida de todos os metadados de certificado circundante. Isto é o que extração de chave pública faz: ela puxa a estrutura SubjectPublicKeyInfo (SPKI) que contém o identificador de algoritmo de chave e os dados de chave, e a apresenta como um bloco PEM standalone.

A razão mais prática para extrair uma chave pública é verificar que um certificado, um CSR, e uma chave privada todos pertencem junto. Quando você gera um par de chave, a chave privada e o certificado emitido de dela devem conter a mesma chave pública. Se elas não combinarem -- porque alguém misturou arquivos, ou o CSR errado foi submetido -- seu servidor TLS falhará em iniciar com um erro criptografado sobre incompatibilidade de chave. Extrair a chave pública de cada arquivo e comparar os hashes SPKI é a forma mais rápida de confirmar eles são um conjunto correspondente.

Extração de chave pública é também central a public key pinning. Diferente de certificate pinning, que pin para um certificado específico (e quebra na renovação), public key pinning pin para a chave em si. Enquanto você reutilize o mesmo par de chave quando renovando, o pin permanece válido. Aplicativos móveis, clientes de API, e serviços sensíveis de segurança comumente usam hashes SPKI para pinning, e esta ferramenta fornece esses hashes no formato correto para Android, iOS, e implementações customizadas.

Como Extrair uma Chave Pública de um Certificado

  1. Cole um certificado codificado em PEM (-----BEGIN CERTIFICATE-----) ou CSR (-----BEGIN CERTIFICATE REQUEST-----)
  2. A ferramenta extrai a chave pública em formato SPKI PEM
  3. Revise os metadados de chave (algoritmo, tamanho, hash)
  4. Copie a chave pública extraída ou use o hash para comparação

Exemplo de Extração de Chave Pública

De um certificado com CN=www.example.com:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzR4p3vGh8Kx2...
...truncated...
-----END PUBLIC KEY-----

Metadados de Chave:
  Algoritmo:   RSA
  Tamanho de Chave:    2048 bits
  Hash SPKI:   sha256/YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=

Tipos de Chave e Sua Saída

Algoritmo de ChaveTamanhos TípicosFormato de Saída
RSA2048, 3072, 4096 bitsPKCS#1 envolvido em SPKI
ECDSAP-256 (256 bits), P-384 (384 bits)EC point em SPKI
Ed25519256 bits (fixo)Chave bruta em SPKI

Como Verificar Certificado e Correspondência de Chave Privada

O uso mais comum de chaves públicas extraídas é verificar que um certificado foi emitido para uma chave privada específica. Dois métodos:

Método 1: Comparar Hashes SPKI

Extrair a chave pública de ambos certificado e arquivo de chave privada, então comparar seus hashes SPKI SHA-256:

# De certificado (usando esta ferramenta ou OpenSSL):
openssl x509 -in cert.pem -pubkey -noout | openssl pkey -pubin -outform DER | openssl dgst -sha256
# Saída: sha256=YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=

# De chave privada:
openssl pkey -in key.pem -pubout -outform DER | openssl dgst -sha256
# Saída: sha256=YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=

Se os hashes combinarem, o certificado e chave privada são um par válido.

Método 2: Comparar Modulus (Apenas RSA)

Para chaves RSA, compare os valores de modulus:

openssl x509 -in cert.pem -noout -modulus | openssl md5
openssl rsa -in key.pem -noout -modulus | openssl md5

Hashes MD5 combinando confirmam o par de chave combina.

Quando Usar Esta Ferramenta

  • Correspondência de chave antes da implantação -- verificar que seu certificado, CSR, e chave privada todos compartilham a mesma chave pública antes de configurar um servidor
  • Public key pinning -- extrair o hash SPKI para implementar HTTP Public Key Pinning (HPKP) ou pinning de nível de app em aplicações Android/iOS
  • Verificação de renovação de certificado -- confirmar se um certificado renovado usa o mesmo par de chave ou um novo
  • Comparação entre CAs -- comparar certificados emitidos por diferentes CAs para o mesmo par de chave (por exemplo, migrando de uma CA para outra)
  • Rastreamento de rotação de chave -- documentar hashes de chave pública ao longo do tempo para rastrear quando rotações de chave ocorrem
  • Análise forense -- determinar se dois certificados de diferentes fontes compartilham o mesmo par de chave subjacente

Como Public Key Pinning Difere de Certificate Pinning

AspectoCertificate PinningPublic Key Pinning
O que é pinnedHash de certificado inteiroHash de chave pública (SPKI)
Sobrevive renovaçãoNão (novo cert = novo hash)Sim, se mesma chave é reutilizada
GranularidadeCertificado exato apenasQualquer certificado com esta chave
Pins de backupDeve pin certificados de backupPode pin chaves de backup
Formato comumSHA-256 de certificado DERSHA-256 de SPKI DER

Public key pinning é geralmente preferido porque permite renovação de certificado sem atualizar pins, enquanto a mesma chave é reutilizada. No entanto, algumas políticas de segurança requerem rotação de chave em cada renovação, em qual caso certificate pinning fornece controle mais apertado.

Extração de Chave na Prática

O caso de uso mais importante para extração de chave é a verificação pré-implantação que previne o temido erro "incompatibilidade de chave". Antes de instalar um novo certificado em um servidor de produção, extraia a chave pública de três fontes: o certificado, o CSR que foi submetido, e a chave privada no servidor. Todos três hashes SPKI devem corresponder. Se o hash de certificado não corresponder ao hash de chave privada, o certificado foi emitido para um par de chave diferente e não pode ser usado com essa chave privada. Esta verificação leva segundos e previne o processo muito mais doloroso de descobrir a incompatibilidade durante uma janela de manutenção às 2 da manhã.

Para public key pinning em aplicações móveis, o workflow é direto: extraia o hash SPKI do certificado de seu servidor usando esta ferramenta, então incorpore esse hash em sua configuração de pinning do app. Em Android, isto vai em network-security-config.xml; em iOS, você o implementa em seu URLSessionDelegate. Sempre inclua pelo menos dois pins -- a chave atual e uma chave de backup que você gerou mas não ainda implantou. Sem um pin de backup, uma rotação de chave força uma atualização de app de emergência antes dos usuários poderem conectar.

Ao rastrear rotações de chave através de sua infraestrutura, mantenha um log de hashes SPKI para cada endpoint de serviço. Após uma renovação de certificado, extraia a chave pública e compare contra o hash anterior. Se o hash mudou, a renovação incluiu uma rotação de chave. Se o hash é o mesmo, a mesma chave foi reutilizada. Esta informação importa para auditorias de conformidade que requerem rotação periódica de chave e para equipes de segurança rastreando ciclo de vida de material criptográfico.

Perguntas Frequentes

O que é SubjectPublicKeyInfo (SPKI)?

SPKI é a estrutura ASN.1 definida na RFC 5280 que envolve uma chave pública junto com seu identificador de algoritmo. Inclui o algoritmo de chave (RSA, ECDSA, etc.) e os dados de chave em si. O formato PEM -----BEGIN PUBLIC KEY----- contém SPKI codificado em DER. Este formato é universalmente entendido por OpenSSL, Java, .NET, e a maioria de bibliotecas criptográficas.

Posso extrair uma chave pública de uma chave privada em vez disso?

Esta ferramenta funciona com certificados e CSRs. Para extrair a chave pública de um arquivo de chave privada, use OpenSSL: openssl pkey -in private.key -pubout -out public.pem. A chave pública resultante será no mesmo formato SPKI e pode ser comparada com chaves extraídas de certificados usando esta ferramenta.

Como uso a chave extraída para Android certificate pinning?

O network-security-config.xml do Android usa hashes SHA-256 codificados em base64 da codificação SPKI DER. Esta ferramenta fornece o hash no formato correto. Adicione-o à sua configuração: <pin digest="SHA-256">YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=</pin>.

Por que dois certificados com diferentes datas de expiração têm o mesmo hash de chave pública?

Porque public key pinning apenas faz hash do material de chave e algoritmo, não dos metadados de certificado. Se você renovou um certificado enquanto reutilizava o mesmo par de chave, o novo certificado terá datas de validade diferentes, número de série, e assinatura, mas a chave pública -- e portanto o hash SPKI -- será idêntico.

É seguro compartilhar minha chave pública?

Sim. Chaves públicas são desenhadas para ser compartilhadas livremente. Elas são incluídas em cada certificado que seu servidor apresenta durante handshakes TLS, então qualquer um que se conecte a seu servidor já tem sua chave pública. A chave privada é o que deve ser mantido secreto.

Ferramentas Relacionadas

IPparse•Ferramentas Gratuitas de Rede e Calculadora de Sub-redes

© 2026 IPparse. All tools run locally in your browser.

100% Privacy-First • No Data Collected