2010-10-05 27 views
12

Estoy tratando de vincularme a un servidor LDAP usando PHP. Es un proceso bastante sencillo, excepto que no puedo evitar un error de certificado que estoy recibiendo. Mis credenciales de autenticación están bien, ya que puedo conectarme al servidor con Apache Directory Studio. ¿Hay alguna forma de aceptar automáticamente el certificado del servidor? ¿Es similar a cómo hace clic en "Aceptar este certificado ..." con el estudio de directorio Apache? Sé que no es una buena seguridad, pero solo tengo que hacer que funcione en este momento y puede cuadrar el problema de cert más adelante.Necesito ayuda para ignorar el certificado del servidor mientras me enlace al servidor LDAP usando PHP

Gracias

+0

posible duplicado de [¿Cómo resuelvo ldap \ _start \ _tls() "No se puede iniciar TLS: error de conexión" en PHP?] (Http://stackoverflow.com/questions/2689629/how-do-i- solve-ldap-start-tls-unable-to-start-tls-connect-error-in-php) – flu

Respuesta

22

No se especifica el medio ambiente, así que aquí está la respuesta (que se encuentra en otro lugar en este sitio: How do I solve ldap_start_tls() "Unable to start TLS: Connect error" in PHP?):

Linux: en la máquina cliente (servidor web PHP) modificar el archivo ldap.conf que los sistemas está usando, en RH/Fedora el archivo que desea es /etc/openldap/ldap.conf (no /etc/ldap.conf, que es para la autenticación del sistema ...). Añadir/modificar la siguiente línea:

TLS_REQCERT never 

de Windows: Agregar una variable de entorno de sistema como el siguiente:

LDAPTLS_REQCERT=never 

o en su código PHP, antes de la ldap_connect, poner lo siguiente:

putenv('LDAPTLS_REQCERT=never'); 

Esto asegurará que la instancia PHP del servidor web del cliente nunca verifique el FQDN del servidor con el CN (nombre común) del certificado. Muy útil en entornos de clúster donde se usa una IP virtual y un certificado para eso. Pero como esto también hace que las otras herramientas/aplicaciones en todo el sistema operativo del servidor web no lo comprueben, asegúrese de que su entorno permita este cambio (es posible que los entornos de alta seguridad no lo permitan).

-3

utilizar un navegador web, punto en ldaps: // dirección ip/

cuando el estallido cert arriba la caja aparece, ver el CERT, mira a la cadena cert, encontrar la raíz de confianza (no el certificado específico que se utiliza, sino el padre que lo firmó) y luego exportar ESE certificado. Guarde en formato PEM y B64. (Binario y B64 codificado).

A continuación, utilícelo para obtener el formato de almacén de claves PHP, cualquiera que sea. Los almacenes de claves Java son fáciles. No estoy seguro de lo que PHP usa.

+0

¿Está seguro de que los navegadores reconocen el esquema 'ldaps: //'? Chrome para mí no ... – bishop

+1

Esta respuesta es una suposición aproximada, y no útil. – Sven

Cuestiones relacionadas