Usuario:ManuelRomero/modulo APACHE/SSL

Pasos a seguir de forma sencilla
a2enmod ssl sudo apt-get install openssl sudo a2ensite default-ssl https://localhost
 * 1) primero habilitamos el modulo correspondiente
 * 1) Nos aseguramos que tenemos instalado el paquete que nos permite crear certificados y claves publicas y privadas
 * 1) A continuación habilitamos un sitio virtual que escuche por el puerto 443 que es el puerto https
 * 1) Y ya podemos comprobar que nuestro sitio seguro funciona
 * Podemos entrar y reubicar las páginas del sitio seguro a otro directorio

Que es SSL

 * Es un protocolo de conexión segura
 * Este protocolo cifra la información que se transmite entre el servidor y el cliente
 * En este caso el servidor escucha por un puerto diferente que el estándar de http que es el 443
 * El protocolo de alto nivel es https

Generar certificados autofirmados
openssl genrsa -out hostname.key 1024
 * Para ello debemos usar los comandos del paquete openssl
 * Primero creamos la clave privada
 * La clave privada va a residir en el servidor, mientras que la clave pública residirá en cada conexión que devuelve al servidor datos cifrados
 * 1) genera una clave almacenada en un fichero llamado hostname.key usando 1024 bytes para generar la clave

openssl req -new -key hostname.key -out hostname.csr
 * generar la solicitud de firma del certificado
 * El archivo generado se puede enviar a una compañía de certificación CA para que lo firme
 * Si la clave esta certificada por una compañía que pertenece a una lista de sitios de certificación reconocidos, el navegador acepta el fichero automáticamente
 * Si no nos preguntará avisándonos de que no es de conficanza
 * El certificado también lo podemos autofirmar nosotros mismo en cuyo caso siempre ocurrirá que nos será de confianza para otros
 * En este caso generamos un certificado usando la clave privada previamente establecida
 * El certificado reside en el fichero llamado hostname.csr

openssl rsa -in hostname.key -out server.key openssl x509 -req -days 365 -in hostname.csr -signkey server.key -out server.crt cp s* /var/www/conf SSLCertificateFile "/var/www/conf/server.crt" SSLCertificateKeyFile "/var/www/conf/server.key"
 * Firmar la clave
 * Ahora copiamos estos fichero a un lugar referenciados, por ejemplo
 * Añadimos las directivas en el fichero de configuración, por ejemplo
 * Ahora lo podemos probar