Cómo instalar: OpenSSL + WAMP

¿Alguien aquí tiene pasos claros y detallados sobre cómo obtener SSL en mi máquina de desarrollo local? Instalé la última versión de WAMP (2.2c) en c: \ wamp. Las instrucciones que encuentro en la red parecen estar desactualizadas en la mayoría de los casos y me faltan los detalles que necesito para hacer las cosas bien.

Guía: Openssl en WampServer 2.5

Requisito previo : normalmente no es necesario instalar openssl (viene incluido con Wamp). Apache 2.4.9 incluye 1.0.1g, por ejemplo.

Variable del sistema :

  • Abra el panel del sistema de Windows (“WIN + Q” Buscar: sistema)> Configuración avanzada del sistema> Avanzado> Variables de entorno
  • Agregue una nueva entrada en las variables del sistema con el nombre OPENSSL_CONF y su valor es la ruta a openssl.cnf (por lo general, algunas cosas como C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ openssl.cnf)

estructura de la carpeta openssl :

  • En C: \ wamp \ bin \ apache \ apache #. #. # \ Conf crea la siguiente estructura de carpetas:

     ..
     demoCA
     | ----- certs
     | ----- crl
     | ----- newcerts
     | ----- privado
    

Configurando openssl.cnf :

  • Seguí el consejo de Neil C. Obremski y borré los siguientes valores predeterminados:
    • countryName_default (era “AU”)
    • stateOrProvinceName_default (era “Some-State”)
    • 0.organizationName_default (era “Internet Widgits Pty Ltd”)
    • organizationalUnitName_default (ya estaba vacío)

Creando el certificado :

  • Desde la línea de comandos, vaya a C: \ wamp \ bin \ apache \ apache #. #. # \ Bin \ y llame a “openssl req -new -out cacert.csr -keyout cacert.pem”. Si se le solicita, ingrese una contraseña y luego la información del DN como a continuación.

     Cargando la 'pantalla' en estado aleatorio - hecho
     Generando una clave privada RSA de 1024 bit
     ....................... ++++++
     .... ++++++
     escribiendo una nueva clave privada para 'cacert.pem'
     Ingrese la frase de contraseña de PEM: my_secret_pass
     Verificación - Ingrese la frase de contraseña de PEM: my_secret_pass
     `-----
     Le van a pedir que ingrese la información que se incorporará
     en su solicitud de certificado.
     Lo que está a punto de ingresar es lo que se llama un Nombre distinguido o un DN.
     Hay bastantes campos pero puede dejar algunos espacios en blanco
     Para algunos campos habrá un valor predeterminado,
     Si ingresa '.', El campo se dejará en blanco.
     `-----
     Nombre del país (código de 2 letras) []:
     Nombre del estado o provincia (nombre completo) []:
     Nombre de localidad (p. Ej., Ciudad) []:
     Nombre de la organización (p. Ej., Empresa) []:
     Nombre de unidad organizacional (por ejemplo, sección) []:
     Nombre común (por ejemplo, FQDN del servidor o SU nombre) []: local
     Dirección de correo electrónico []:
    
     Por favor ingrese los siguientes atributos 'adicionales'
     para ser enviado con su solicitud de certificado
     Una contraseña reto []:
     Un nombre de compañía opcional []:
    
     C: \ wamp \ bin \ apache \ apache2.4.9 \ bin>
    
  • En la misma ventana de consola ahora use “openssl rsa -in cacert.pem -out cacert.key” y, si se le solicita, ingrese la contraseña previamente ingresada.

     Ingrese la frase de acceso para cacert.pem: my_secret_pass
     escribiendo la clave RSA
    
  • Elimine el archivo “.rnd” en C: \ wamp \ bin \ apache \ apache2.4.9 \ bin

  • Aún en la misma ventana, llame a “openssl x509 -en cacert.csr -out cacert.cert -req -signkey cacert.key -days 365”. Si experimenta el siguiente error “no se puede escribir ‘estado aleatorio'”. ¡Este es un error conocido ! Para solucionar este problema, llame a “set RANDFILE = .rnd” y vuelva a intentar el comando anterior.

¡Felicitaciones, ahora eres el propietario de un certificado autofirmado!

He colocado los archivos comstackdos (actualmente están en la carpeta bin) según este Sitio :

  • cacert.pem, cacert.key en C: \ wamp \ bin \ apache \ apache #. #. # \ conf \ demoCA \ private
  • cacert.cert, cacert.csr en C: \ wamp \ bin \ apache \ apache #. #. # \ conf \ demoCA \ certs

En httpd.conf habilite SLL (busque “#Include conf / extra / httpd-ssl.conf”) + modifique las siguientes entradas en httpd-ssl.conf:

SSLSessionCache "shmcb:C:/wamp/logs/ssl_scache(512000)" DocumentRoot "C:/wamp/www" #ErrorLog #TransferLog SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/demoCA/certs/cacert.cert" SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/demoCA/private/cacert.key" CustomLog "C:/wamp/logs/ssl_request.log" \ 

Ahora prueba tu instalación de Apache llamando a httpd -t. Si obtiene el siguiente error “SSLSessionCache: caché de sesión ‘shmcb’ no compatible (nombres conocidos:). Tal vez necesite cargar el módulo socache apropiado (mod_socache_shmcb?)”. habilite la siguiente entrada “LoadModule socache_shmcb_module modules / mod_socache_shmcb.so” en httpd.conf

Wamp ahora está configurado con soporte https 🙂

También habilité “LoadModule module_module modules / mod_status.so” usando la siguiente configuración en httpd.conf:

  ExtendedStatus On  SetHandler server-status   

Puede verificar ahora el estado de su servidor aquí

 https://localhost/server-status/ 

Apache / 2.4.9 (Win64) OpenSSL / 1.0.1g PHP / 5.5.12 Servidor en el puerto localhost 443

Notas :

  • Hice este tutorial mientras intentaba que funcionara en mi máquina (este fue mi primer bash de usar OpenSSL en Windows / Wamp).
  • ¡Esta guía no es para sistemas de producción!
  • Puede que tenga que cambiar algunas cosas como nombres dependiendo de su openssl.cnf
  • Mi intención no era hacer el mejor tutorial, sino simplemente anotar todos los cambios necesarios para que SSL funcione en WAMP.
  • Asegúrese de establecer el importe de días hábiles para su certificado x509
  • Finalmente sé por qué la NSA puede entrar fácilmente en los servidores con un proceso tan complejo: D
  • Como Wamp empaqueta apache junto con OpenSSL, ¿sería mejor instalarlo por separado?

Tengo el WAMP 2.2E instalado.

Me encontré con el mismo problema, y ​​después de aproximadamente una hora de buscar en Internet y probar todo tipo de cosas, me tropecé con descubrir que openssl puede ser habilitado por:

  • Al hacer clic en el icono de WAMP en la bandeja del sistema,
  • Al pasar el cursor sobre “PHP” ,
  • Luego, “extensiones de PHP” ,
  • Luego, busca con mucho cuidado “php_openssl” en la larga lista de extensiones.

Después de seguir las excelentes instrucciones de KAGRAN22, encontré 2 errores:

 AH00526: Syntax error on line 48 of C:/wamp64/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: Invalid command 'SSLCipherSuite', perhaps misspelled or defined by a module not included in the server configuration 

Ese error se resuelve al descomentar esta línea

 LoadModule ssl_module modules/mod_ssl.so 

en httpd.conf.

Luego obtuve esto:

 AH00526: Syntax error on line 74 of C:/wamp64/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?). 

Lo cual se resuelve descomentando esta línea

 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 

en httpd.conf.

Todo debería funcionar después de eso.

Hechos: no es posible configurar SSL en WampServer Versión 2.4 al menos no en un período de tiempo razonable. La persona normal no debería estar interesada en tratar con esto, porque esta no es la manera práctica ni normal de hacer las cosas. SSL en Wamp es básicamente una máquina SM, por lo que si tiene alguna necesidad masoquista, proceda con esto.