![File:OpenSSL logo.png](https://upload.wikimedia.org/wikipedia/commons/a/a1/OpenSSL_logo.png?20171126183131)
Em outro artigo falamos sobre os diferentes tipos de certificados e suas funções: Certificado: Diferença Entre os Formatos PEM, PKCS7, DER e PKCS#12
O formato PEM é o formato mais comum usado para certificados. As extensões usadas para certificados PEM são cer, crt e pem. Eles são arquivos ASCII codificados em que chamamos de Base64. O formato DER é a forma binária do certificado. Os certificados formatados DER não contêm as declarações “BEGIN CERTIFICATE/END CERTIFICATE”. Os certificados formatados DER geralmente usam a extensão ‘.der’.
Se o seu servidor/dispositivo exigir um formato de certificado diferente de X.509 codificado em Base64, uma ferramenta de terceiros, como OpenSSL, poderá ser usada para converter os certificados no formato apropriado.
Alguns comandos de conversão comuns estão listados abaixo:
Converter x509 para PEM
openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
Converter DER para PEM
openssl x509 -inform der -in certificatename.der -out certificatename.pem
Converter PEM para P7B
O formato PKCS#7 ou P7B é armazenado no formato Base64 ASCII e possui uma extensão de arquivo .p7b ou .p7c. Um arquivo P7B contém apenas certificados e certificados de cadeia (CAs intermediárias), não a chave privada. As plataformas mais comuns que suportam arquivos P7B são Microsoft Windows e Java Tomcat.
openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer
Converter PKCS7 para PEM
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem
Converter pfx para PEM
O formato PKCS#12 ou PFX é um formato binário para armazenar o certificado do servidor, certificados intermediários e a chave privada em um arquivo criptografável. Os arquivos PFX geralmente têm extensões como .pfx e .p12. Os arquivos PFX são normalmente usados em máquinas Windows para importar e exportar certificados e chaves privadas.
openssl pkcs12 -in certificatename.pfx -out certificatename.pem
Converter PFX para PKCS#8
Para essa conversão temos que executar dois comandos
01: Converter PFX para PEM
openssl pkcs12 -in certificatename.pfx -nocerts -nodes -out certificatename.pem
01: Converter PEM para PKCS8
openSSL pkcs8 -in certificatename.pem -topk8 -nocrypt -out certificatename.pk8
Converter P7B para PFX
Para essa conversão temos que executar dois comandos
01: Converter P7B para PFX
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
02: Converter CER e Chave Privada em PFX
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
Comments on “OpenSSL: Converter um Tipo de Certificado em Outro Formato”