A modo de ejemplo lo haremos para una intranet.
Generar el CSR y la clave privada en el servidor web Apache.
Desde línea de comandos de la servidor web Apache generar un archivo csr-intranet.txt con el siguiente contenido:
[req] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] C=AR ST=CABA L=CABA O=Mi Organizacion SA OU=IT emailAddress=admin@miorganizacion.com.ar CN = intranet.miorganizacion.com.ar [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = intranet.miorganizacion.com.ar
Ahora ejecutar el siguiente comando:
openssl req -new -sha256 -nodes -out intranet.csr -newkey rsa:2048 -keyout intranet.key -config csr-intranet.txt
Copiar el archivo intranet.csr al servidor donde esta la CA (Windows Server)
Generar el certificado firmado por la CA Windows
Desde línea de comandos del servidor Windows (CA):
certreq -submit -attrib "CertificateTemplate:WebServer" intranet.csr
Se selecciona la CA -> Ok
Escribir el nombre del certificado «intranet.crt» -> Guardar
Configurar el sitio seguro en el servidor web Apache
Desde la linea de comandos activar el módulo SSL
a2enmod ssl
Editar el archivo /etc/apache2/sites-available/intranet.conf con la siguiente información:
<VirtualHost intranet.miorganizacion.com.ar:443> DocumentRoot "/usr/share/intranet" ServerName intranet.miorganizacion.com.ar ServerAlias intranet.miorganizacion.com.ar <IfModule mod_ssl.c> SSLEngine on SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCertificateFile /etc/apache2/intranet.crt SSLCertificateKeyFile /etc/apache2/intranet.key </IfModule> </VirtualHost>
Restartear el servicio:
service apache2 restart
Acceder a https://intranet.miorganizacion.com.ar desde cualquier browser para verificar el certificado.
Para descargar la CA se puede acceder vía browser desde la URL:
https://CA.miorganizacion.com.ar/certsrv/