Hola a todos!
Tengo algunas dudas sobre certificados SSL/TLS. Encontre en Internet comandos para crear un certificado autofirmado y su clave privada. Al ingresar los comandos obtengo los siguientes archivos: clave-privada.key (es la clave privada que utiliza el servidor, la clave publica supongo que la genera Apache por ejemplo), dominio-web.csr (es necesario para crear el certificado), dominio-web.crt (es el certificado) y dominio-web.pem (contiene el certificado y la clave privada junto en un solo archivo)
Los comandos mencionados son:
1 - Creo una clave privada con una longitud de bits de 2048. Yo creo que 4096 es exageradamente seguro. ¿Debería elegir 4096?
openssl genrsa -out clave-privada.key 2048
2 - Creo una "Solicitud de Firma de Certificado" (CSR). Segun los tutoriales en Internet es necesario para crear el certificado. Utilizo sha256 en vez de sha1, pues no esta demás. Ademas en el ultimo parametro indico el dominio web para el que va a ser válido, este puede ser cualquiera. Si no agrego este parametro me hace un monton de preguntas como por ejemplo, nombre de la organización y demas preguntas. ¿Esto lo hace inseguro? ¿Es seguro contra ataques Man-In-The-Middle o cualquier otro tipo de ataque?
openssl req -new -sha256 -key clave-privada.key -out dominio-web.csr -subj '/CN=dominio-web'
3 - Creo el certificado. Utilizo sha256 en vez de sha1, pues no esta demás. A este le doy una validez de 3650 días que equivale a 10 años. El sitio web no es accesible al publico, pues va a ser una aplicación web para un negocio con varias sucursales. Por defecto la validez es de un año y yo creo que estar renovando el certificado todos los años es innecesario dada la seguridad de SSL/TLS. ¿Es esto seguro?
openssl x509 -req -sha256 -days 3650 -in dominio-web.csr -signkey clave-privada.key -out dominio-web.crt
4 - Creo el archivo en formato PEM. Creo que Apache soporta este formato.
cat dominio-web.crt clave-privada.key > dominio-web.pem
Saludos cordiales!