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/