Solución:
Tutorial PASO A PASO
Copiado del enlace:
Habilitación de SSL en WAMP
Esta guía paso a paso explica cómo puede habilitar SSL en WAMP.
-
Descargue WampServer 2.0 desde aquí e instálelo en la ubicación predeterminada (c: wamp).
-
Ahora, necesitamos tener un par de claves pública / privada, así como una CA para firmar nuestra clave pública.
Primero, veamos cómo podemos crear un par de claves pública / privada.
keytool -genkey -alias rpcert -keyalg RSA -keysize 1024 -dname "CN=identity-rp,L=SL,S=WS,C=LK" -keypass wso2key -keystore rpkeystore.jks -storepass wso2key
Esto creará un almacén de claves [rpkeystore.jks] con par de claves pública / privada.
Mi publicación anterior explica cómo puede exportar su clave privada desde el almacén de claves. Simplemente siga los pasos que se dan allí y terminará con un archivo server.key, que es su clave privada.
Ahora, debemos firmar nuestro certificado público con una CA.
Esto requiere que creemos una CA de muestra y, a continuación, se explica cómo hacerlo.
Aquí usamos OpenSSL para construir la infraestructura de CA requerida. Para Windows, puede descargar Win32 OpenSSL v0.9.8g desde aquí.
Una vez instalado, asegúrese de agregar C:OpenSSLbin [i.e [INSTALLED_LOCATION]bin]
a la variable env PATH.
openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.crt
Lo anterior creará un par de claves pública / privada para nuestra CA de muestra.
Ahora, necesitamos crear una solicitud de firma de certificado para nuestro servidor.
Vaya a la carpeta donde creó el almacén de claves [rpkeystore.jks] y emita el siguiente comando.
keytool -certreq -v -alias rpcert -file csr.pem -keypass wso2key -storepass wso2key -keystore rpkeystore.jks
Ahora copie csr.pem en la carpeta donde generó las claves para la CA y emita el siguiente comando desde allí.
openssl x509 -req -days 365 -in csr.pem -CA cacert.crt -CAkey cakey.pem -CAcreateserial -out server.crt
A estas alturas tenemos todos los archivos necesarios.
cacert.crt -> CA public certificate server.crt -> Certificado público del servidor firmado por la CA server.key -> Clave privada del servidor.
Copie los tres archivos anteriores a c:wampbinapacheapache2.2.8conf
asumiendo que instaló WAMP en la ubicación predeterminada.
También edite el archivo c: WINDOWS system32 drivers etc hosts y agregue la siguiente entrada.
127.0.0.1 identity-rp
Si puede recordar, cuando creamos el certificado público para nuestro servidor, lo creamos para identity-rp.
- Edite httpd.conf [C:wampbinapacheapache2.2.8conf]
Descomente las siguientes dos líneas.
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
Busque Escuchar 80 y cámbielo a Escuchar 12081, es decir, nuestro servidor se está ejecutando en el puerto número 12081.
Busque ServerName y establézcalo en ServerName identity-rp: 12081.
-
Edite httpd-ssl.conf [C:wampbinapacheapache2.2.8confextra]
Establecer Identidad de escucha-rp: 12444: estamos escuchando el puerto 12444 para una comunicación segura.
Colocar
Establecer DocumentRoot “C: / wamp / www /”
Establezca ServerName identity-rp: 12444
Para el archivo completo, busque “C: / Archivos de programa / Apache Software Foundation / Apache2.2” y reemplácelo con “C: /wamp/bin/apache/apache2.2.8”.
Busque SSLCertificateFile y configure SSLCertificateFile “C: /wamp/bin/apache/apache2.2.8/conf/server.crt”
Busque SSLCertificateKeyFile y configure SSLCertificateKeyFile “C: /wamp/bin/apache/apache2.2.8/conf/server.key”
Busque SSLCACertificateFile y configure SSLCACertificateFile “C: /wamp/bin/apache/apache2.2.8/conf/cacert.crt”
- Edite php.ini (C: wamp bin apache apache2.2.8 bin)
Descomentar la línea extension=php_openssl.dll
-
Ahora que hemos terminado, haga una verificación de sintaxis e inicie el servidor apache.
:> cd C: wamp bin apache apache2.2.8 bin:> httpd -t:> httpd –start
-
Escribe
https://identity-rp:12444
en su navegador (verá un error de certificado en el navegador) para evitar que instale el certificado CA en su navegador.
La forma más fácil para la comunicación SSL / HTTPS del host local (NOTA: ESTO NO ES SEGURO PARA TODO EXCEPTO EL HOST LOCAL EN UNA RED DE CONFIANZA):
Ve a guardar lo siguiente como c:/wamp/bin/php/php5.5.12/cacert.pem
u otro camino de su elección (necesitará recordar el camino para el siguiente bit)
-----BEGIN CERTIFICATE-----
MIIDBzCCAe+gAwIBAgIJAMoCZ6uI7u4zMA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV
BAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xOTA4MTIxMzM4MTBaFw0yOTA4MDkxMzM4
MTBaMBoxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAK3y7R7lAlBHhoPLx2zvfv/mjSy1clk0HAaSgGDSpl6R
Qs5WrIesS3hkfEoRrWkZOx2/B6bqPbrSsoGRwFrG5Qd5P5OXGZTS51xy9z/9raa7
sDH++z7UF6MvF0oATjGOjpIEtmMZMd+oePGghGrilNxE7sJBd8Y5tyMyhf2azk2B
euRJoerhOot8QRkSYqqsUcfOp7K18LGmPKPUkc6guJsv/86GfXZrkQIudlkyvDsk
sIXIj5wvJbZIDizF4NytyuGgIJxTlRmtAgwmcq8UXdnHBZjNyvCZ7ADO+LlvEvRn
fSuDWYKs5MCcgUZkBUB2f3Quc6pCGULuK2nr+VPY0asCAwEAAaNQME4wHQYDVR0O
BBYEFBTtO54yB99DIK0n2GBVJzKvLkY8MB8GA1UdIwQYMBaAFBTtO54yB99DIK0n
2GBVJzKvLkY8MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKr+ZBse
u+df6AG7qCm5NqmvxDVNloqLLIv8mQpUZrIuoWcpmFdXGcMKkpQD7B+mqxVaIfii
JGuc+tuYCcc5n4M2SBawVsLeYK4y79QU+SHYdb2z5Fk105/T/p6SV6aK4lqxvnPL
OQaOO+WHS3alITPk3tDRHJ68iR6KndXecl0hPTe7Y7e74/f94DCAeVK/QyKwkbOS
3pdA0f+AlGiTRaNjc3PFJRgNeUsvwGt0aP+MgimFSLyLpyZiXbux7OCOpKnjeWtO
B3i3in9rnNg2ArpFKQ30bojddEN87bVORJmqgX92oEpS02e1/f72w538oD+F84Uc
lKxvjPlcgIuU+sY=
-----END CERTIFICATE-----
En php.ini
* descomentar y cambiar:
curl.cainfo = "c:/wamp/bin/php/php5.5.12/cacert.pem"
- Puedes encontrar donde tu
php.ini
el archivo está en su máquina ejecutandophp --ini
en su CLI o creando un archivo phpinfo y cargándolo en el navegador - Coloqué mi cacert.pem en el mismo directorio que php.ini para mayor facilidad.
-
curl.cainfo =
debe establecerse en el lugar donde haya guardado su propio cacert.pem
Solución simple:
Los tutoriales antes de 2018 son viejos y enormes … Sin embargo, hoy en día, solo necesitas cosas simples:
- Cargando 2 módulos de Apache.
- Generando certificado
- Adición de certificado en el archivo Virtual-Hosts.
(Puede encontrar este artículo bastante útil).