Usando OpenSSL para gerar e formatar certificados

Usar OpenSSL para criar seus próprios certificados autoassinados ou converter arquivos de certificado PEM em P12 arquivos.

OpenSSL é um kit de ferramentas de código aberto que pode ser usado para gerar e validar certificados TLS.

Este tópico aborda como gerar um certificado TLS autoassinado usando o OpenSSL kit de ferramentas e como converter certificados no formato PEM para P12 formatar.

Criando um certificado autoassinado com OpenSSL

Use o seguinte comando para criar uma chave privada e um certificado público com OpenSSL:
openssl req -newkey rsa:2048 -nodes -keyout private_key.pem -x509 -days 365 -out public_certificate.pem

O OpenSSL O comando solicita as seguintes informações para criar sua chave privada e certificado público (valores de exemplo mostrados):

  • Nome do país (código de 2 letras) []: EUA
  • Nome do estado ou província (nome completo) []: Califórnia
  • Nome da localidade (por exemplo, cidade) []: Sacramento
  • Nome da organização (por exemplo, empresa) []: exemploorganização
  • Nome da unidade organizacional (por exemplo, seção) []:
  • Nome comum (por exemplo, nome de host totalmente qualificado) []: gateway.exampleorganization.com
  • Endereço de email []:

O Nome Comum deve ser configurado como o nome de domínio totalmente qualificado do sistema que usa o certificado. Para DNS estático, use o nome do host ou o endereço IP configurado em seu Cluster de gateway (por exemplo. 192.16.183.131ougateway.exampleorganization.com ).

Para revisar o certificado público gerado, execute:
openssl x509 -text -noout -in public_certificate.pem
Para combinar os arquivos PEM private_key e public_certificate gerados em um arquivo PEM protegido por senha P12 arquivo, execute:
openssl pkcs12 -inkey private_key.pem -in public_certificate.pem -export -out certificate.p12
Para validar um P12 arquivo, execute:
openssl pkcs12 -in certificate.p12 -noout -info

Criando PKCS#12 ( P12 ) certificado de arquivos PEM

PKCS#12 (P12 ) define um formato de arquivo para armazenar objetos criptográficos como um único arquivo. Usar OpenSSL para criar uma senha protegida P12 arquivo de seus arquivos PEM.

Pré-requisitos:
  • Arquivo de chave privado. Por exemplo: private_key.pem.
  • Certificado assinado pela CA. Por exemplo: public_certificate.pem.
  • Se você tiver certificados intermediários da sua CA, concatene-os em um único.pem arquivo para criar umca_chain.pem arquivo:
    cat ca1.pem ca2.pem ca3.pem > ca_chain.pem
    oca_chain.pem arquivo deve ficar assim:
    
    -----BEGIN CERTIFICATE-----
    MIIEpjCCA46gAwIBAgIQEOd26KZabjd+BQMG1Dwl6jANBgkqhkiG9w0BAQUFADCB
    ...
    lQX7CkTJn6lAJUsyEa8H/gjVQnHp4VOLFR/dKgeVcCRvZF7Tt5AuiyHY
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIEPDCCAySgAwIBAgIQSEus8arH1xND0aJ0NUmXJTANBgkqhkiG9w0BAQUFADBv
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
    ...
    -----END CERTIFICATE-----
  • Se você tiver vários certificados de entidade final (folha) em um arquivo, divida-os em arquivos separados e crie P12 arquivos para cada certificado.
Crie o P12 arquivo com o seguinte OpenSSL comando (se você não tiver certificados CA para incluir, omita-CAfile <filename> -chain ):
openssl pkcs12 -inkey private_key.pem -in public_certificate.pem -export -out certificate.p12 -CAfile caChain.pem -chain