A página de manual openssl x509
descreve a opção -pubkey
como:
-pubkey
outputs the the certificate's SubjectPublicKeyInfo block in PEM format.
O formato PEM consiste em um arquivo DER codificado em Base64 , com linhas de cabeçalho e rodapé adicionadas. Depois de remover o cabeçalho e o rodapé e decodificar Base64 os dados (o que o comando openssl enc
deve realmente fazer), você terá um arquivo DER, que contém ASN.1 dados em uma codificação binária.
Onde você está errado, está tentando ler a saída do DER diretamente com um editor hexadecimal. Em vez disso, você precisa decodificá-lo usando um analisador ASN.1, como openssl asn1parse
.
Alternativamente, você pode preferir simplesmente usar:
openssl x509 -in certificate.pem -text -noout
e extrair as coordenadas de chave pública (que provavelmente serão mostradas como sequências de bytes em hexadecimal) da (% mais ou menos) -text
de saída legível por humanos.