Como exportar a chave pública da Solicitação de Assinatura de Certificado?

2

Eu escrevo o código do Android para gerar o par de chaves RSA e o pedido de assinatura de certificado (csr.txt) Aqui está o meu conteúdo CSR:

-----BEGIN CERTIFICATE REQUEST-----
MIIBojCCAQ0CAQAwQjEVMBMGA1UEAwwMdGhhbmhsYW0uY29tMQwwCgYDVQQKDANC
S1UxGzAZBgNVBAsMElRlbGVjb20gRGVwYXJ0bWVudDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEA0beMquCjIe3ILA8RpTTW/Xb+jXOz7g+xQJtBPL+fih8sB/d6
9u93nGGg+Dra1HS6bm2gns0J/Zm9A/AJgB3zAW5hpX0bgL2BJ/dcnjPMh3/peNWs
elu0sMOqYARFxCbKc3YPC04ZKp6RKgar5AhZAoOKuQLZtmb4EquxoM7CTqECAwEA
AaAiMCAGCSqGSIb3DQEJDjETMBEwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0B
AQsDgYEAMvdLO8e7llE+IG4smDtz8A9edTqbbglUMPMASVTEn1F7A1lu1u79depE
rNZtk983qflG7I57cvKS65O0G+Qo0xmvRNLFVw6iETwR16uPx3ffisDBPWJBIySI
Slh1mPRLgky1+EQezWzG5I7Nozo1DDk2skjbB4v7acFBcRoSl6Y=
-----END CERTIFICATE REQUEST-----

Eu encontrei um link pode decodificar meu arquivo CSR:

Então, como posso usar o openssl para exportar a chave pública deste arquivo csr para publickey.pem?

Qual comando pode fazer isso?

Obrigado por advandce.

    
por mat 23.07.2017 / 06:27

2 respostas

2

Para gerar somente a chave pública para um arquivo local chamado publickey.pem :
openssl req -in csr.txt -noout -pubkey -out publickey.pem

Você pode visualizar a chave (codificada pelo PEM) no terminal sem colocá-la em um arquivo, eliminando o último argumento:% openssl req -in csr.txt -noout -pubkey

Observação: a opção -noout é obrigatória, pois, por padrão, todo o CSR será colocado no arquivo de saída, enquanto a sua pergunta só é solicitada pela chave pública.

Pontos de bônus: Para olhar dentro da saída PEM codificada pelo BASE64 e ver a chave pública real no formato hexadecimal, canalize-a para a função pkey do openssl:
openssl req -in csr.txt -noout -pubkey | openssl pkey -pubin -noout -text

    
por 24.07.2017 / 16:27
1

openssl req -in file.csr -pubkey -out pubkey.pem

    
por 23.07.2017 / 09:43