Como converter certificados para o formato compatível

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Este documento explica como converter o certificado TLS e a chave privada associada nos formatos PEM ou PFX (PKCS #12).

O Apigee Edge é compatível com o armazenamento de certificados no formato PEM ou PFX em keystores e truststores. As etapas usadas para converter certificados de qualquer formato atual para os formatos PEM ou PFX dependem do kit de ferramentas OpenSSL e são aplicáveis a qualquer ambiente em que o OpenSSL esteja disponível.

Antes de começar

Antes de seguir as etapas deste documento, é importante 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.
  • Para usar os exemplos de linha de comando deste guia, instale ou atualize para a versão mais recente do cliente OpenSSL.

Como 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 para o formato PEM.

  1. 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 em uma máquina em que o OpenSSL esteja instalado usando scp, 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.

  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 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 de certificados completa (certificate.p7b) 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 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.

  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 PEM:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
    
  4. Verifique se o certificado foi convertido para o formato PEM.

Conversão do 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 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 muitos motivos, 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 esteja instalado usando scp, 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.

  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 PEM:
    openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
    
  4. Verifique se o certificado foi convertido para o formato PEM.

Conversão do 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, também é necessário ter a chave privada.

  1. Transfira o certificado (certificate.p7b) que você quer converter em PFX para 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 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.

  2. Faça login na máquina em que o OpenSSL está instalado.
  3. No diretório onde os certificados estão localizados, execute os seguintes comandos para converter o certificado do formato P7B para PFX e exportar a entidade e os certificados de CA 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 se o certificado está no formato PEM

Esta seção descreve como verificar se o certificado está no formato PEM.

  1. Para visualizar o certificado no formato PEM, execute o seguinte comando:
    openssl x509 -in certificate.pem -text -noout
    
  2. Se for possível visualizar o conteúdo do certificado em um formato legível sem erros, você poderá confirmar que 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