En este escenario se ha solicitado un certificado digital a 1and1 siendo la entidad certificadora GeoTrust. 1and1 nos envía unos archivos, pero posiblemente no nos sirvan y tengamos que generarlo todo para nuestro servidor y nuestro dominio.
Solicitud y Generación del Certificado Digital
1. Generamos la clave privada (sin encriptación (no passwd). El objetivo de esto es que el servidor Apache no solicite la clave en cada reinicio).
openssl genrsa -out www.mydomain.com.key 2048
2. Generamos un código CSR (Certificate Signing Request). Esta parte se hace sobretodo por seguridad, así no tendremos que enviar nuestra clave privada a la hora de solicitar el certificado.
openssl req -new -key www.mydomain.com.key -out www.mydomain.com.csr
Aquí irá haciendo preguntas. Es importante escribir en Common Name la URL para la que se ha solicitado el dominio.
En principio no es necesario rellenar el e-mail ni los campos opcionales.
Si se quiere visualizar el contenido del archivo csr lo podemos hacer de la siguiente manera:
openssl req -noout -text -in www.mydomain.com.csr
Una vez hemos hecho eso, copiamos el contenido del csr, ya que lo necesitaremos más adelante.
Vamos a la web de «Reissue QuickSSL, RapidSSL or Partner Orders» ( https://knowledge.geotrust.com/support/knowledge-base/index?page=content&id=SO5989 ) y seguimos los pasos.
Desde la URL donde nos manda le damos a volver a emitir certificado y pegamos el contenido del archivo CSR.
Una vez finalizado ese proceso, recibiremos un correo para aprobar los cambios y posteriormente nos enviarán los certificados.
Es el momento de terminar de configurar el servidor.
Parte Servidora
En el correo que nos envían hay un apartado Web Server CERTIFICATE, esto se trata de la clave pública, que podemos guardar por ejemplo en /etc/apache2/ssl/mydomain/public.crt
Otro apartado es INTERMEDIATE CA, que guardamos en /etc/apache2/ssl/mydomain/intermediate.crt
Por último, dentro del virtual host de Apache:
ServerName mydomain.com
ServerAlias www.mydomain.com
SSLEngine on
SSLProtocol all
SSLCertificateFile /etc/apache2/ssl/mydomain/public.crt
SSLCertificateKeyFile /etc/apache2/ssl/mydomain/www.mydomain.com.key
SSLCertificateChainFile /etc/apache2/ssl/mydomain/intermediate.crt
RewriteEngine On
RewriteOptions inherit
DocumentRoot /opt/web/www.mydomain.com
// Options
Order Deny,Allow
CustomLog /var/log/apache2/access_mydomain_ssl.log combined
ErrorLog /var/log/apache2/error_mydomain_ssl.log