Cómo construir una cadena de certificados para ServerHello

Cómo construir una cadena de certificados para ServerHello

He estado intentando armar una cadena de certificados. Tengo la clave privada ( privatekey.pem) y la CSR ( csr.pem) que envié a la Autoridad certificadora/CA.

Tomé el certificado de la CA y puse el contenido en un archivo ( ca.crt). Comienza ca.crtcon una -----BEGIN CERTIFICATE-----línea y luego el material hash. Sin embargo, todavía necesito la cadena de certificados y miro el ejemplo de la cadena de certificados aquí.http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SampleCert

Supongo que lo que tengo en privatekey.pemes el certificado raíz (¿verdad?) y ca.crtes el certificado intermedio 1 en la cadena de muestra en ese enlace. Si ese es el caso, ¿cómo/dónde obtengo el otro certificado intermedio? Si no entiendo bien esto, ¿qué o cómo obtengo/genero el pedido?

Respuesta1

Parece que estás mezclando varios aspectos aquí. Lo que necesitas para obtener el resultado final es

  1. tu clave privada
  2. el certificado raíz, que es igual para todos los que usan la misma CA (eso es lo que parece ser su ca.crt)
  3. a/algunos certificados intermedios, que generalmente se encuentran en el sitio de la CA
  4. el resultado del CSR presentado, que luego es su certificado.

2-4 forman la cadena de certificados.

Respuesta2

Adrón,

privatekey.pem es la clave privada para el certificado que solicitó a la CA.

el certificado raíz ca será el certificado de la parte superior de la PKI particular que emitió su certificado y será un certificado autofirmado.

los certificados de ca intermedios son de sub-ca debajo de la CA raíz.

por ejemplo, example.com tiene una CA raíz llamada exampleRootCA y una subCA llamada exampleSubCA.

ejemploSubCA le emite un certificado SSL AdronSSL

su cadena de certificados será AdronSSL -> exampleSubCA -> exampleRootCA

espero que esto ayude

Respuesta3

Los siguientes comandos del 1 al 5 ayudan a crear la cadena de certificados

  1. Comando para crear la clave privada y el certificado autofirmado de RootCA

    openssl req -new -nodes -newkey rsa:2048 -sha256 -days 100 -keyout rootPrivateKey.key -x509 -out rootCACertificate.pem

Nota: Comando para convertir el certificado RootCA del formato .crt al .pem

openssl x509 -outform pem -in rootCACertificate.pem -out rootCACertificate.crt
  1. Comando para crear la clave privada de la CA intermedia y su solicitud de firma de certificado

    openssl req -new -nodes -newkey rsa:2048 -keyout intermedioCAPrivateKey.key -out intermedioCACertificateSignRequest.csr

  2. Comando para crear un certificado de CA intermedia firmado por RootCA

    openssl x509 -req -sha256 -días 100 -in middleCACertificateSignRequest.csr -CA rootCACertificate.pem -CAkey rootPrivateKey.key -CAcreateserial -extfile domain.ext -out middleCACertificate.crt

El contenido de domain.ext se proporciona a continuación:

subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:true
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
  1. Comando para crear la clave privada del servidor y firmar la solicitud

    openssl req -new -nodes -newkey rsa:2048 -keyout serverPrivateKey.key -out serverSignRequest.csr

  2. Comando para crear el certificado del servidor firmado por IntermediateCA

    openssl x509 -req -sha256 -días 100 -in serverSignRequest.csr -CA intermedioCACertificate.crt -CAkey intermedioCAPrivateKey.key -CAcreateserial -extfile domain.ext -out serverCertificate.crt

El contenido de domain.ext se proporciona a continuación:

basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment sujetoAltName = @alt_names [ alt_names ] DNS.1 = localhost

Nota: Comando para convertir la clave privada del servidor en formato .key al formato .PEM.

openssl rsa -in serverPrivateKey.key -out serverPrivateKey.pem

Aquí la CA raíz está autofirmada. Por tanto, los navegadores no lo reconocen. Para garantizar el reconocimiento del navegador, abra IE ->Herramientas->Opciones de Internet -> Contenido -> Importar la CA raíz en la sección Autoridad de certificación confiable y la CA intermedia en la sección Autoridad de certificación intermedia.

El certificado del servidor y la clave privada del servidor se guardan en el servidor que ejecuta para servir las páginas web.

Una vez que solicite páginas web, podrá encontrar que el certificado del servidor se valida con la cadena de certificados.

información relacionada