Firmar el certificado SSL con el certificado raíz usando openssl

0

He creado un certificado raíz, Mi certificado raíz , con una clave privada, RSA Private Key 1 , mediante el comando de terminal openssl.
Me gustaría hacer una cadena de certificados como la siguiente:

  • Mi certificado raíz
  • example.com, firmado con RSA Private Key 1

¿Cómo podría hacer esta cadena de certificados con el comando de terminal openssl?

    
pregunta Java Is Cool 20.11.2014 - 05:02
fuente

2 respuestas

0

Esto me ayudó a: enlace . Muy buena pregunta, pero la respuesta es lo que importa.

    
respondido por el Java Is Cool 22.11.2014 - 05:42
fuente
3
  1. Primero, cree los directorios para contener el certificado de CA y los archivos relacionados: sudo mkdir / etc / ssl / CA sudo mkdir / etc / ssl / newcerts

  2. La CA necesita algunos archivos adicionales para funcionar, uno para realizar un seguimiento del último número de serie utilizado por la CA, cada certificado debe tener un número de serie único y otro archivo para registrar qué certificados se han emitido: sudo sh -c "echo '01' > / etc / ssl / CA / serial" sudo touch /etc/ssl/CA/index.txt

  3. El tercer archivo es un archivo de configuración de CA. Aunque no es estrictamente necesario, es muy conveniente cuando se emiten varios certificados. Edite /etc/ssl/openssl.cnf, y en el cambio [CA_default]: dir = / etc / ssl / # donde se guarda todo database = $ dir / CA / index.txt # archivo de índice de la base de datos. certificate = $ dir / certs / cacert.pem # El certificado de CA serial = $ dir / CA / serial # El número de serie actual private_key = $ dir / private / cakey.pem # La clave privada

  4. A continuación, cree el certificado raíz autocontenido: openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 Luego se le pedirá que ingrese los detalles sobre el certificado.

  5. Ahora instale el certificado raíz y la clave: sudo mv cakey.pem / etc / ssl / private / sudo mv cacert.pem / etc / ssl / certs /

  6. Ahora está listo para comenzar a firmar certificados. El primer elemento necesario es una solicitud de firma de certificado (CSR), consulte Generación de una solicitud de firma de certificado (CSR) para obtener más información. Una vez que tenga un CSR, ingrese lo siguiente para generar un certificado firmado por la CA: sudo openssl ca -in server.csr -config /etc/ssl/openssl.cnf Después de ingresar la contraseña para la clave de CA, se le pedirá que firme el certificado y, nuevamente, que confirme el nuevo certificado. A continuación, debería ver una cantidad algo grande de resultados relacionados con la creación del certificado.

  7. Ahora debería haber un nuevo archivo, /etc/ssl/newcerts/01.pem, que contenga la misma salida. Copie y pegue todo lo que comienza con la línea: ----- COMIENCE CERTIFICADO ----- y continúe a través de la línea: ---- CERTIFICADO FINAL ----- líneas a un archivo que lleva el nombre del host del servidor donde Se instalará el certificado. Por ejemplo, mail.example.com.crt, es un buen nombre descriptivo. Los certificados posteriores se llamarán 02.pem, 03.pem, etc. Reemplace mail.example.com.crt con su propio nombre descriptivo.
  8. Finalmente, copie el nuevo certificado en el host que lo necesita y configure las aplicaciones apropiadas para usarlo. La ubicación predeterminada para instalar certificados es / etc / ssl / certs. Esto permite que múltiples servicios utilicen el mismo certificado sin permisos de archivos demasiado complicados. Para las aplicaciones que pueden configurarse para usar un certificado de CA, también debe copiar el archivo /etc/ssl/certs/cacert.pem al directorio / etc / ssl / certs / en cada servidor.
respondido por el Rocky Chen 20.11.2014 - 08:58
fuente

Lea otras preguntas en las etiquetas