Crear una carpeta vac铆a y dirigirnos a ella desde la terminal. Por ejemplo:
mkdir sslPara los pasos siguientes, asumiremos que estamos parados dentro de esa carpeta.
cd ssl
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 2048Ahora 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.keyPaso 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, issuerFinalmente, ahora podemos expedir nuestro certificado SSL para XAMPP con el siguiente comando (la passphrase que nos pedir谩 es la del segundo paso):
basicConstraints = CA: FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
sudo openssl x509 -req -in server.csr -CA localRootCA.pem -CAkey localRootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile x509v3.extConfiguraciones 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/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.
sudo cp server.key /opt/lampp/etc/ssl.key/
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/