Como converter certificados para o formato compatível

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.

  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 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.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 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
  4. 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.

  1. 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 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 o formato PEM:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
  4. 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.

  1. 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 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.

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.

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

  1. Para conferir o certificado no formato PEM, execute o seguinte comando:
    openssl x509 -in certificate.pem -text -noout
  2. 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.
  3. 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

  1. 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-----
  2. 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
  3. Faça login na máquina em que o OpenSSL está instalado.
  4. 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