utilizando tls servidor protocolo para está crear configurar conexión con certificados certificado autofirmados autofirmado php apache ssl https xampp

php - tls - crear ssl en xampp



Configuración de SSL en un servidor local xampp/apache (6)

Estoy intentando acceder a un Directorio Activo desde mi servidor web local. Para hacer esto, estoy usando la última versión de xampp y un script PHP llamado adLDAP . Si entiendo las cosas bien, necesito habilitar SSL para acceder a las URL https. Intenté buscar en Google pero sin suerte :( ¿Alguien podría vincular un tutorial o explicarme cómo instalar SSL en xampp / apache para Windows 7 64bit? Cualquier ayuda sería apreciada :)


He revisado todas las respuestas y tutoriales a través de Internet, pero estos son los pasos básicos para habilitar SSL ( https ) en localhost con XAMPP :

Necesario:

  1. Ejecute -> "C: / xampp / apache / makecert.bat" (haga doble clic en Windows) Rellene los passowords de su elección, presione Enter para todo PERO defina "localhost" !!! Tenga cuidado cuando se lo pregunte aquí:

    Nombre común (por ejemplo, FQDN del servidor o SU nombre) []: localhost

    (¡Los certificados se emiten solo por zona de nombre de dominio!)

  2. Reiniciar Apache
  3. Chrome -> Configuración -> Buscar "Certificado" -> Administrar certificados -> Autoridades de certificación de raíz de confianza -> Importar -> "C: / xampp / apache / conf / ssl.crt / server.crt" -> Debe hacer "SÍ" ¡para confirmacion!
  4. https://localhost/testssl.php -> [OK, ahora verde!] (cualquier archivo de prueba html)

Opcional: (si arriba no funciona, haga más de estos pasos)

  1. Ejecute XAMPP As admin (Inicio -> XAMPP -> clic con el botón derecho -> Ejecutar como administrador)
  2. XAMPP -> Apache -> Config -> httpd.conf ("C: / xampp / apache / conf / httpd.conf")

    LoadModule ssl_module modules / mod_ssl.so (eliminar # formar el inicio de la línea)

  3. XAMPP -> Apache -> Config -> php.ini ("C: / xampp / php / php.ini")

    extension = php_openssl.dll (eliminar; desde el comienzo de la línea)

  4. ¡Reinicia Apache y Chrome!

Verifique cualquier problema o el estado de su certificado:

Chrome -> F12 -> Seguridad -> Ver certificado


Hice la mayoría de las cosas sugeridas aquí, todavía no funcionó. Intenté esto y funcionó: abra su Panel de control XAMPP , ubique el botón Config para el módulo Apache . Haga clic en el botón Configurar y seleccione PHP (php.ini) . Ábralo con cualquier editor de texto y elimine la semicolumna antes de php_openssl . Guarde y reinicie Apache. Eso debería hacer!


Hice todas las sugerencias aquí y mi código aún no funcionaba porque estaba usando curl

Si usa curl en el archivo php, curl parece rechazar todo el tráfico ssl de forma predeterminada. Una solución rápida que funcionó para mí fue agregar:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

antes de llamar:

curl_exec():

en el archivo php.

Creo que esto inhabilita toda verificación de certificados SSL.


Parte de Apache: lo que le permite abrir https://localhost/xyz

Existe el archivo de configuración xampp / apache / conf / extra / httpd-ssl.conf que contiene toda la configuración específica de ssl. Está bastante bien documentado, así que lea los comentarios y eche un vistazo a http://httpd.apache.org/docs/2.2/ssl/ . Los archivos comienzan con <IfModule ssl_module> , por lo que solo tiene un efecto si el apache se ha iniciado con su módulo mod_ssl.

Abra el archivo xampp / apache / conf / httpd.conf en un editor y busque la línea

#LoadModule ssl_module modules/mod_ssl.so

elimine el hashmark, guarde el archivo y reinicie Apache. El servidor web ahora debería comenzar con la configuración básica / predeterminada de ssl de xampp; lo suficientemente bueno para la prueba, pero es posible que desee leer un poco más sobre mod_ssl en la documentación de apache.

Parte PHP - Permitiendo que adldap use ldap sobre ssl

adldap necesita la extensión openssl de php para usar conexiones "ldap sobre ssl". La extensión openssl se envía como un dll con xampp. Debes "decirle" a php que cargue este dll, por ejemplo, teniendo una extension=nameofmodule.dll en tu php.ini
correr

echo ''ini: '', get_cfg_var(''cfg_file_path'');

Debería mostrarle qué archivo ini utiliza su instalación php (puede diferir entre el módulo php-apache y la versión php-cli).
Abra este archivo en un editor y busque

;extension=php_openssl.dll

elimine el punto y coma, guarde el archivo y reinicie Apache.

ver también: http://docs.php.net/install.windows.extensions


Puede habilitar SSL en XAMPP creando certificados autofirmados y luego instalando esos certificados. Escriba los siguientes comandos para generar y mover los certificados a las carpetas ssl.

openssl genrsa -des3 -out server.key 1024

openssl req -new -key server.key -out server.csr

cp server.key server.key.org

openssl rsa -in server.key.org -out server.key

openssl x509 -req -days 365 -en server.csr -signkey server.key -out server.crt

cp server.crt /opt/lampp/etc/ssl.crt/domainname.crt

cp server.key /opt/lampp/etc/ssl.key/domainname.key

(Use sudo con cada comando si no es el superusuario)

Ahora, compruebe que mod_ssl está habilitado en [XAMPPOME] /etc/httpd.conf:

LoadModule ssl_module modules / mod_ssl.so

Agregue un host virtual, en este ejemplo "localhost.domainname.com" editando [XAMPP_HOME] /etc/extra/httpd-ssl.conf de la siguiente manera:

<virtualhost 127.0.1.4:443> ServerName localhost.domainname.com ServerAlias localhost.domainname.com *.localhost.domainname.com ServerAdmin admin@localhost DocumentRoot "/opt/lampp/htdocs/" DirectoryIndex index.php ErrorLog /opt/lampp/logs/domainname.local.error.log CustomLog /opt/lampp/logs/domainname.local.access.log combined SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /opt/lampp/etc/ssl.crt/domainname.crt SSLCertificateKeyFile /opt/lampp/etc/ssl.key/domainname.key <directory /opt/lampp/htdocs/> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </directory> BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 </virtualhost>

Agregue la siguiente entrada a / etc / hosts:

127.0.1.4 localhost.domainname.com

Ahora, intente instalar el certificado / intente importar el certificado al navegador. Lo he comprobado y esto funcionó en Ubuntu.


Resulta que OpenSSL está compilado y habilitado en php 5.3 de XAMPP 1.7.2 y, por lo tanto, ya no requiere una extensión de dll.

Sin embargo, TODAVÍA necesita habilitarlo en su archivo PHP.ini la extension=php_openssl.dll línea extension=php_openssl.dll