Como converter certificados para o formato compatível

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Este documento explica como converter o certificado TLS e a chave privada associada em os 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 os formatos PEM ou PFX dependem do OpenSSL (link em inglês) e são aplicáveis a qualquer em que o OpenSSL esteja disponível.

Antes de começar

Antes de usar as etapas deste documento, é preciso entender os seguintes tópicos:

  • Se você não conhece o formato PEM ou PFX, leia Sobre 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 (link em inglês).
  • Para usar os exemplos de linha de comando neste guia, instale ou atualize para a versão mais recente do cliente OpenSSL (link em inglês).

Converter o certificado do formato DER para o formato PEM

Esta seção descreve como converter um certificado e a chave privada associada do DER para o formato PEM.

  1. Transfira o arquivo que contém a cadeia completa de certificados (certificate.der) e a chave privada associada (private_key.der) que você quer converter para o formato PEM a uma máquina em que o OpenSSL está instalado usando scp, sftp ou qualquer outros utilitários.

    Por exemplo, use o comando scp para transferir o arquivo para o /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.

  2. Faça login na máquina em que o OpenSSL está instalado.
  3. No diretório em que os certificados estão localizados, execute o seguinte comando para Converta o certificado e a chave privada associada do formato DER para o formato 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
    
  4. Verifique se o certificado foi convertido para o formato PEM.

Conversão do certificado do formato P7B para o formato PEM

Esta seção descreve como converter certificados do formato P7B para o formato PEM.

  1. Transfira o arquivo que contém a cadeia completa de certificados (certificate.p7b). que você queira converter para o formato PEM em uma máquina em que o OpenSSL está instalado usando scp; sftp ou qualquer outro utilitário.

    Por exemplo, use o comando scp para transferir o arquivo para o /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.

  2. Faça login na máquina em que o OpenSSL está instalado.
  3. 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
    
  4. Verifique se o certificado foi convertido para o formato PEM.

Convertendo o 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. Será necessário abrir o arquivo em um editor de texto e copiar cada certificado e a 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 para muitos incluindo validação.

  1. Transfira os certificados e a chave privada (certificate.pfx, Intermediate.pfx CACert.pfx, privateKey.key) que você quer converter para o formato PEM em uma máquina em que o OpenSSL está instalado usando scp. sftp ou qualquer outro utilitário.

    Por exemplo, use o comando scp para transferir o arquivo para o /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.

  2. Faça login na máquina em que o OpenSSL está instalado.
  3. 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 pkcs12 -in certificate.pfx -out certificate.pem -nodes
    
  4. Verifique se o certificado foi convertido para o formato PEM.

Convertendo o certificado do formato P7B para o formato 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 conseguir a chave privada.

  1. Transfira o certificado (certificate.p7b) que você quer converter em PFX em um máquina em que o OpenSSL está instalado usando scp, sftp ou qualquer outro utilitário.

    Por exemplo, use o comando scp para transferir o arquivo para o /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.

  2. Faça login na máquina em que o OpenSSL está instalado.
  3. 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 a entidade e a CA intermediária certificados 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.

  1. Para visualizar o certificado que está no formato PEM, execute o seguinte comando:
    openssl x509 -in certificate.pem -text -noout
    
  2. Se você puder ver o conteúdo do certificado em um formato legível sem quaisquer erros, você poderá confirmar se o certificado está no formato PEM.
  3. Se o certificado estiver em outro formato, você verá erros como estes:
    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