Converter um certificado CERT / PEM em um certificado PFX

185

Eu já vi algumas perguntas sobre como converter um PFX em um arquivo cert, mas preciso seguir o outro caminho.

Eu tenho dois arquivos:

bob_cert.cert

bob_key.pem

Gostaria de convertê-los em um único arquivo .pfx. Existe uma ferramenta que faz isso?

Bendewey
fonte
16
serverfault.com/a/9717/3202 é uma grande explicação sobre formatos de arquivo cert, apenas fyi
Rory

Respostas:

350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx
Francis
fonte
7
Como posso conseguir a mesma coisa programaticamente em c #?
pankajt 24/09/09
2
Você poderia me apontar na direção desses exemplos? Não consigo encontrar nada.
Nick
10
A versão para Windows do OpenSSL está disponível em slproweb.com/products/Win32OpenSSL.html . Apenas tentei e funcionou corretamente para esse fim.
BrianFinkel
2
Grande lista de comandos comuns do OpenSSL em sslshopper.com/article-most-common-openssl-commands.html
Rory
4
Algumas adições: -name "friendly name"define o nome (que apareceria na lista de certificados no Windows, por exemplo) e -certfile cacert.pempode ser usado para adicionar o (s) certificado (s) da CA e produzir o .pfxarquivo com toda a cadeia.
pvgoran
22

Aqui está como fazer isso no Windows sem ferramentas de terceiros:

  1. Importar certificado para o armazenamento de certificados. No Windows Explorer, selecione "Instalar certificado" no menu de contexto. insira a descrição da imagem aqui Siga o assistente e aceite as opções padrão "Usuário local" e "Automaticamente".

  2. Encontre seu certificado no armazenamento de certificados. No Windows 10, execute o MMC "Gerenciar certificados de usuário". No Windows 2013, o MMC é chamado "Certificados". Por padrão, no Windows 10, seu certificado deve estar no nó "Pessoal" -> "Certificados".

  3. Certificado de Exportação. No menu de contexto, selecione o menu "Exportar ...": insira a descrição da imagem aqui

    Selecione "Sim, exporte a chave privada": insira a descrição da imagem aqui

    Você verá que a opção .PFX está ativada neste caso: insira a descrição da imagem aqui

    Especifique a senha da chave privada.

TI atingiu o WebDAV
fonte
11
Na etapa 2, meu certificado não "Pessoal" -> "Certificados". Ele aparece em "Outras pessoas" -> "Certificados" e, ao exportar, o "PFX (Personal Information Exchange)" aparece desativado. Você sabe como habilitá-lo?
Gabrielizalo
Eu fixo com o conversor certificado portátil de DigiCert: digicert.com/util/...
Gabrielizalo
13
você não pode importar um PEM.
Ross Presser
1
Você precisa renomear .pem para .cer primeiro para que o Windows reconheça o arquivo como um certificado / arquivo de chave privada. As duas extensões de arquivo podem conter cert (es) e / ou chave (s) em formato de texto sem proteção blindado em ASCII ou em formato binário codificado em Base64 / DER, mas você pode usar arquivos cer com utilitários internos do Windows.
Mastacheata 11/08/19
9
A pergunta do OP era como importá-lo quando a chave privada não está incluída no arquivo de certificado, mas você tem dois arquivos: um crt e um pem (pem contendo a chave privada). Essa resposta não funciona nesse caso.
masi
16

Criei o arquivo .pfx a partir dos arquivos .key e .pem.

Como isso openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

Essa não é a resposta direta, mas ainda assim talvez ajude alguém.

Siim Nelis
fonte
5

Se você tiver um certificado autoassinado gerado por makecert.exeem uma máquina Windows, receberá dois arquivos: cert.pvke cert.cer. Estes podem ser convertidos para um pfx usandopvk2pfx

pvk2pfxé encontrado no mesmo local que makecert(por exemplo, C:\Program Files (x86)\Windows Kits\10\bin\x86ou similar)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
EBlake
fonte