Usando OpenSSL para generar y formatear certificados

Usar OpenSSL para crear sus propios certificados autofirmados o convertir archivos de certificados PEM a P12 archivos.

OpenSSL es un conjunto de herramientas de código abierto que se puede utilizar para generar y validar certificados TLS.

Este tema cubre cómo generar un certificado TLS autofirmado utilizando el OpenSSL kit de herramientas y cómo convertir certificados en formato PEM a P12 formato.

Crear un certificado autofirmado con OpenSSL

Utilice el siguiente comando para crear una clave privada y un certificado público con OpenSSL:
openssl req -newkey rsa:2048 -nodes -keyout private_key.pem -x509 -days 365 -out public_certificate.pem

El OpenSSL El comando solicita la siguiente información para crear su clave privada y certificado público (se muestran valores de ejemplo):

  • Nombre del país (código de 2 letras) []: EE. UU.
  • Nombre del estado o provincia (nombre completo) []: California
  • Nombre de la localidad (p. ej., ciudad) []: Sacramento
  • Nombre de la organización (p. ej., empresa) []: organización de ejemplo
  • Nombre de la unidad organizativa (p. ej., sección) []:
  • Nombre común (por ejemplo, nombre de host completo) []: gateway.exampleorganization.com
  • Dirección de correo electrónico []:

El nombre común debe establecerse en el nombre de dominio completo del sistema que utiliza el certificado. Para DNS estático, utilice el nombre de host o la dirección IP establecidos en el clúster de pasarela (por ejemplo. 192.16.183.131ogateway.exampleorganization.com ).

Para revisar la ejecución del certificado público generado:
openssl x509 -text -noout -in public_certificate.pem
Para combinar los archivos PEM de clave privada y certificado público generados en un archivo protegido con contraseña P12 archivo, ejecute:
openssl pkcs12 -inkey private_key.pem -in public_certificate.pem -export -out certificate.p12
Para validar un P12 archivo, ejecute:
openssl pkcs12 -in certificate.p12 -noout -info

Creando PKCS#12 ( P12 ) certificado de archivos PEM

PKCS#12 (P12 ) define un formato de archivo para almacenar objetos criptográficos como un solo archivo. Usar OpenSSL para crear una contraseña protegida P12 archivo de sus archivos PEM.

Requisitos previos:
  • Archivo de clave privada. Por ejemplo: private_key.pem.
  • Certificado firmado por CA. Por ejemplo: public_certificate.pem.
  • Si tiene certificados intermedios de su CA, concatenelos en un único.pem archivo para crear unca_chain.pem archivo:
    cat ca1.pem ca2.pem ca3.pem > ca_chain.pem
    elca_chain.pem el archivo debería verse así:
    
    -----BEGIN CERTIFICATE-----
    MIIEpjCCA46gAwIBAgIQEOd26KZabjd+BQMG1Dwl6jANBgkqhkiG9w0BAQUFADCB
    ...
    lQX7CkTJn6lAJUsyEa8H/gjVQnHp4VOLFR/dKgeVcCRvZF7Tt5AuiyHY
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIEPDCCAySgAwIBAgIQSEus8arH1xND0aJ0NUmXJTANBgkqhkiG9w0BAQUFADBv
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
    ...
    -----END CERTIFICATE-----
  • Si tiene varios certificados de entidad final (hoja) en un archivo, divídalos en archivos separados y cree certificados separados. P12 archivos para cada certificado.
Crea el P12 archivo con lo siguiente OpenSSL comando (si no tiene certificados de 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