Vamos a crearnos CERTIFICADOS, para configurar nuestro servidor con HTTPS. Todo esto lo vamos a realizar en debian, usando la linea de comandos. Se supone que esta correctamente instalado, y configurado
Hay que instalar un software, que permita crear, y manejar certificados
apt-get install openssl
Vamos a crearnos, nuestra AUTORIDAD DE CERTIFICACION. Para eso, nos vamos a la carpeta o directorio correcto
cd /etc/ssl/private
Tenemos que crearnos una CLAVE para nuestro certificado, y una vez que tengamos dicha clave, crear el CERTIFICADo, que usaremos como CA, para FIRMAR los certificados que usaremos en APACHE
openssl genrsa -out rootCA.key 2048 -des3
Una vez creada la KEY, queremos crear el certificado que sera realmente el certificado que firmara los dominios https, que le pidamos.
openssl req -x509 -new -nodes -key rootCA.key -days 365 -out rootCA.pem
Hasta aqui, tenemos creado un certificado para poder firmar certificados para nuestros dominios. Los archivos que tenemos que mantener bien guardados, y crearnos una copia de seguridad a ser posible, son
rootCA.key
rootCA.pem
Si queremos que nuestros navegadores, detecten nuestras conexiones https como seguras, deberiamos importar el archivo rootCA.pem en nuestro gestor de certificados raiz de confianza
**************************************
Vamos a ver como crear un certificado, que sera valido con la extension SAN, para nuestros sitios web, que responda tanto al dominio.com, como al www.dominio.com. Para mi ejemplo usare «david.com»
Sigo en el directorio /etc/ssl/private
Creo el archivo de configuracion david.com.cnf
nano david.com.cnf
Quedando asi…. sin los ——
—————————————————-
[ req ]
prompt = no
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
countryName = Es
stateOrProvinceName = Zaragoza
localityName = Spain
organizationName = OrganizacionDavid
commonName = david.com
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = david.com
DNS.2 = www.david.com
—————————————————–
Usando esa configuracion genero la key y la peticion
openssl req -out david.com.csr -newkey rsa:2048 -nodes -keyout david.com.key -config david.com.cnf
Compruebo la peticion creada que sea correcta
openssl req -noout -text -in david.com.csr
Genero el certificado
openssl x509 -req -in david.com.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out david.com.crt -days 365 -extensions req_ext -extfile david.com.cnf
Solo tenemos que configurar apache, para usar los archivos
david.com.crt
david.com.key
Esto lo configuramos en nuestro virtualhost, con ssl activado
Reiniciamos APACHE