Você está visualizando a documentação do Apigee Edge.
Acesse a
documentação da
Apigee X. info
Este documento explica como converter o certificado TLS e a chave privada associada nos formatos PEM ou PFX (PKCS #12).
O Apigee Edge oferece suporte ao armazenamento apenas de certificados de formato PEM ou PFX em keystores e truststores. As etapas usadas para converter certificados de qualquer formato existente para PEM ou PFX dependem do kit de ferramentas OpenSSL e são aplicáveis em qualquer ambiente em que o OpenSSL esteja disponível.
Antes de começar
Antes de seguir as etapas deste documento, entenda os seguintes tópicos:
- Se você não conhece o formato PEM ou PFX, leia Sobre o TLS/SSL.
- Se você não conhece os formatos de certificado, leia Formatos de certificado SSL.
- Se você não conhece a biblioteca OpenSSL, leia OpenSSL.
- Para usar os exemplos de linha de comando neste guia, instale ou atualize para a versão mais recente do cliente OpenSSL.
Converter o certificado do formato DER para o formato PEM
Esta seção descreve como converter um certificado e uma chave privada associada do formato DER (DER) para o formato PEM.
-
Transfira o arquivo que contém a cadeia de certificados completa (
certificate.der
) e a chave privada associada (private_key.der
) que você quer converter para o formato PEM para uma máquina em que o OpenSSL está instalado usandoscp
,sftp
ou qualquer outro utilitário.Por exemplo, use o comando
scp
para transferir o arquivo para o diretório/tmp
no servidor que contém o OpenSSL da seguinte maneira:scp certificate.der servername:/tmp scp private_key.der servername:/tmp
Em que servername é o nome do servidor que contém o OpenSSL.
- Faça login na máquina em que o OpenSSL está instalado.
-
No diretório em que os certificados estão localizados, execute o comando a seguir para
converter o certificado e a chave privada associada do formato DER para PEM:
openssl x509 -inform DER -in certificate.der -outform PEM -out certificate.pem openssl rsa -inform DER -in private_key.der -outform PEM -out private.key
- Verifique se o certificado foi convertido para o formato PEM.
Como converter um certificado do formato P7B para PEM
Esta seção descreve como converter certificados do formato P7B para PEM.
- Transfira o arquivo que contém a cadeia de certificados completa (
certificate.p7b
) que você quer converter para o formato PEM para uma máquina em que o OpenSSL está instalado usandoscp
,sftp
ou qualquer outro utilitário.Por exemplo, use o comando
scp
para transferir o arquivo para o diretório/tmp
no servidor que contém o OpenSSL da seguinte maneira:scp certificate.p7b servername:/tmp
Em que servername é o nome do servidor que contém o OpenSSL.
- Faça login na máquina em que o OpenSSL está instalado.
-
No diretório em que os certificados estão localizados, execute o seguinte comando para converter
o certificado do formato P7B para o formato PEM:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
- Verifique se o certificado foi convertido para o formato PEM.
Como converter um certificado do formato PFX para o formato PEM
Esta seção descreve como converter certificados TLS do formato PFX para o formato PEM.
Ao converter um arquivo PFX para o formato PEM, o OpenSSL coloca todos os certificados e a chave privada em um único arquivo. Você vai precisar abrir o arquivo em um editor de texto e copiar cada certificado
e chave privada (incluindo as instruções BEGIN/END) para arquivos de texto individuais e salvá-los como
certificate.pfx
, Intermediate.pfx
(se aplicável),
CACert.pfx
e privateKey.key
, respectivamente.
A Apigee oferece suporte ao formato PFX/PKCS #12. No entanto, o formato PEM é conveniente por vários motivos, incluindo validação.
-
Transfira os certificados e a chave privada (
certificate.pfx
,Intermediate.pfx
CACert.pfx
,privateKey.key
) que você quer converter para o formato PEM para uma máquina em que o OpenSSL está instalado usandoscp
,sftp
ou qualquer outro utilitário.Por exemplo, use o comando
scp
para transferir o arquivo para o diretório/tmp
no servidor que contém o OpenSSL da seguinte maneira:scp certificate.pfx servername:/tmp
Em que servername é o nome do servidor que contém o OpenSSL.
- Faça login na máquina em que o OpenSSL está instalado.
-
No diretório em que os certificados estão localizados, execute o seguinte comando para converter
o certificado do formato P7B para PEM:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
- Verifique se o certificado foi convertido para o formato PEM.
Como converter um certificado do formato P7B para PFX
Esta seção descreve como converter certificados TLS do formato P7B para o formato PFX.
Para converter para o formato PFX, você também precisa receber a chave privada.
-
Transfira o certificado (
certificate.p7b
) que você quer converter para PFX para uma máquina em que o OpenSSL está instalado usandoscp
,sftp
ou qualquer outro utilitário.Por exemplo, use o comando
scp
para transferir o arquivo para o diretório/tmp
no servidor que contém o OpenSSL da seguinte maneira:scp certificate.p7b servername:/tmp scp private_key.key servername:/tmp
Em que servername é o nome do servidor que contém o OpenSSL.
- Faça login na máquina em que o OpenSSL está instalado.
-
No diretório em que os certificados estão localizados, execute os seguintes comandos para converter
o certificado do formato P7B para PFX e exportar os certificados de entidade e de AC intermediário
em arquivos separados:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey private_key.key -out certificate.pfx -certfile CACert.cer
Como verificar o certificado está no formato PEM
Esta seção descreve como verificar se o certificado está no formato PEM.
- Para conferir o certificado no formato PEM, execute o seguinte comando:
openssl x509 -in certificate.pem -text -noout
- Se você conseguir visualizar o conteúdo do certificado em um formato legível por humanos sem erros, confirme que o certificado está no formato PEM.
-
Se o certificado estiver em qualquer outro formato, você vai encontrar erros como este:
unable to load certificate 12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate
Como empacotar arquivos de certificado e chave PEM em PKCS12/PFX
-
Verifique se o arquivo da chave privada está no formato PEM. Para o certificado, se você tiver arquivos PEM separados para a cadeia, abra cada arquivo em um editor de texto e concatene-os em um único arquivo, conforme mostrado abaixo:
-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
-
Transfira os arquivos para uma máquina em que o OpenSSL esteja instalado usando
scp
,sftp
ou qualquer outro utilitário:scp certificate.pem servername:/tmp scp private.key servername:/tmp
- Faça login na máquina em que o OpenSSL está instalado.
-
No diretório em que os arquivos estão localizados, execute o comando a seguir para empacotá-los em um arquivo PKCS12 com o alias myalias. Quando solicitado, insira uma senha adequada:
openssl pkcs12 -export -in certificate.pem -inkey private.key -out keystore.pfx -name myalias