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).
1 | 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.
1 | 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:
1 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <IfModule mod_ssl.c> <VirtualHost *:443> 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 <Directory /opt/web/www.mydomain.com> // Options Order Deny,Allow </Directory> CustomLog /var/log/apache2/access_mydomain_ssl.log combined ErrorLog /var/log/apache2/error_mydomain_ssl.log </VirtualHost> </IfModule> |