Paso 1: Creación de carpeta
Crear una carpeta vacía y dirigirnos a ella desde la terminal. Por ejemplo:

mkdir ssl
cd ssl

Para los pasos siguientes, asumiremos que estamos parados dentro de esa carpeta.

Paso 2: Root key & root certificate
Primeramente, debemos crear una root key para luego generar un root certificate. Importante: para este paso deberemos elegir y recordar una passphrase o contraseña .

sudo openssl genrsa -des3 -out localRootCA.key 2048

Ahora podemos crear un root certificate. Durante este paso utilizaremos la passphrase ingresada al generar la root key. Importante: se pueden contestar las preguntas que aparecen en este paso con un punto o un espacio en blanco, sin embargo cuando nos soliciten el Common Name debemos ingresar «localhost» sin comillas.

sudo openssl req -x509 -new -nodes -key localRootCA.key -sha256 -days 1024 -out localRootCA.pem

Paso 3 : Pedido de firma de certificado
Antes de generar nuestro certificado SSL, es necesario emitir un archivo de solicitud de firma de certificado (server.csr) y una clave (server.key) para poder hacer la comprobación de nuesro certificado. Importante: se pueden contestar las preguntas que aparecen en este paso con un punto o un espacio en blanco, sin embargo cuando nos soliciten el Common Name debemos ingresar «localhost» sin comillas. Para este paso también deberemos pensar una passphrase.

sudo openssl req -new -nodes -out server.csr -newkey rsa:2048 -keyout server.key

Paso 4 : Certificado SSL
Para generar un certificado SSL, primero debemos generar un archivo de configuración denominado x509v3.ext con el siguiente contenido:

authorityKeyIdentifier = keyid, issuer
basicConstraints = CA: FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost

Finalmente, ahora podemos expedir nuestro certificado SSL para XAMPP con el siguiente comando (la passphrase que nos pedirá es la del segundo paso):

sudo openssl x509 -req -in server.csr -CA localRootCA.pem -CAkey localRootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile x509v3.ext

Configuraciones finales
Finalmente, deberemos copiar los certificados generados a nuestro servidor local, y decirle al navegador que utilicemos que puede confiar en esos certificados.

Para mover los archivos:

sudo cp server.crt /opt/lampp/etc/ssl.crt/
sudo cp server.key /opt/lampp/etc/ssl.key/

En el caso de que usemos Google Chrome, dirigirse a chrome://settings/certificates, en la pestaña Authorities hacer click en Import y seleccionar el archivo localhostRootCA.pem. La configuración es similar para el resto de los navegadores.

Para terminar, bastará con reiniciar nuestra instancia de XAMPP:

sudo /opt/lampp/lampp restart

Conclusión
Nos dirigimos a https://localhost deberíamos ver que la conexión es segura.

Fuente: https://www.syloper.com/blog/servidores/xampp-certificados-ssl-localhost/

No responses yet

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

HACIENDO PRUEBA