El daemon Slapd no puede iniciarse: TLS init def ctx failed: -1

Ayer tuve que reiniciar mi Mac OS X Lion Server y después de reiniciar observé que no tengo ninguna connection con mi LDAPv3 en el server local, así como tampoco hay usuarios disponibles en la aplicación del server.

A continuación, la aplicación de server mostró tres certificates obsoletos. Sus nombres comienzan con "APNS".

  • ¿Cómo muestro quién creó / posee un file en el Finder?
  • ¿Cómo puedo instalar Messages.app en Lion?
  • El uso compartido de Internet a través de WiFi se desconecta
  • No se puede acceder a las opciones de inicio vitales en Mac Pro con OS X Lion
  • Tartamudeo del cursor: "IOHIDS actualización del cursor del sistema vencida. Reenviar ".
  • ¿Dónde encontrar la guía de configuration de security Mac OS X Lion?
  • No estoy seguro de si el problema está relacionado específicamente con esos certificates, pero lamentablemente "slapd" se refiere a problemas con los principales certificates de mi dominio interno.

    A continuación está el logging de slapd en sí:

    Oct 27 17:49:57 apple slapd[723]: @(#) $OpenLDAP: slapd 2.4.23 (Jun 24 2012 23:35:56) $ root@grace.apple.com:/private/var/tmp/OpenLDAP/OpenLDAP-186.5~1/servers/slapd Oct 27 17:49:57 apple slapd[723]: daemon: SLAP_SOCK_INIT: dtblsize=8192 Oct 27 17:49:57 apple slapd[723]: main: TLS init def ctx failed: -1 Oct 27 17:49:57 apple slapd[723]: slapd stopped. 

    El logging del sistema obviamente muestra:

     Oct 27 17:53:19 apple com.apple.launchd[1] (org.openldap.slapd[879]): Exited with code: 1 Oct 27 17:53:19 apple com.apple.launchd[1] (org.openldap.slapd): Throttling respawn: Will start in 10 seconds 

    Al intentar iniciar slapd desde la command-line (usando: /usr/libexec/slapd -d -1 ), recibo el siguiente post antes de la falla:

     TLS: attempting to read `/etc/certificates/domain.com.456DACFFC771F8EB2F5A8E0EBB269969B8164097.key.pem'. execv failed TLS: could not use key file `/etc/certificates/domain.com.456DACFFC771F8EB2F5A8E0EBB269969B8164097.key.pem'. LS: error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long /SourceCache/OpenSSL098/OpenSSL098-49/src/crypto/asn1/asn1_lib.c:150 main: TLS init def ctx failed: -1 slapd destroy: freeing system resources. slapd stopped. 

    Si elimino las opciones de configuration de TLS de "/etc/openldap/slapd_macosxserver.conf", entonces puedo iniciar el daemon (usando: /usr/libexec/slapd -d -1 -f slapd_macosxserver.conf . Todos mis usuarios están atrasados, Puedo iniciar session a través de Workgroup Manager o la aplicación de server.

    Mientras tanto, el Administrador del server en la input Open Directory muestra que:

    1. El server LDAP es: Running
    2. El server de passwords está: detenido
    3. Kerberos es: Running

    He intentado algunas cosas, pero aún no tengo idea de cómo solucionar el problema.

  • Apple Mac OS X Lion: el costo y la date de lanzamiento
  • Mac Pro se atasca en "modo seguro" después de la actualización Lion
  • ¿Puedo configurar el correo para que solo envíe desde una dirección de correo electrónico sea cual sea la count?
  • Reasignación de keyboard en Lion?
  • ¿Cómo puedo solucionar el problema de pantalla completa de Dual Monitor sin actualizar a Maverick?
  • ¿Hay un atajo para abrir una carpeta en un cuadro de dialog Abrir file?
  • 2 Solutions collect form web for “El daemon Slapd no puede iniciarse: TLS init def ctx failed: -1”

    Recomiendo crear otro certificate autofirmado en Server.app que pueda usar para proteger los services (si los otros caducaron o se eliminaron). Al crear el certificate utilizando Server.app, estará disponible automáticamente para otros services (como Open Directory).

    Después de crear un nuevo certificate autofirmado, siga los pasos 6 a 12 de este artículo (que describen cómo se puede configurar su certificate SSL para usarlo con Open Directory). La ejecución del Open Directory -> Configuración -> LDAP -> Configuración de SSL a través del Administrador del server escribirá las routes de acceso de certificates correctas en el file de configuration slapd .

    Una vez que haya corregido los problemas del certificate, Open Directory ( slapd ) debería comenzar normalmente (sin tener que iniciarlo a mano). Si Password Server aún no se muestra en ejecución después de eso, puede intentar reiniciar (o verificar si está generando loggings de locking u otros errores en la console).

    Editar

    Después de modificar la configuration del certificate para su uso con LDAP, probablemente valga la pena verificar que la máquina haya proporcionado routes de certificate actualizadas para slapd en el file slapd_macosxserver.conf . Es decir, la cadena única de numbers y caracteres en las routes key / cert debería haber cambiado.

    Para confirmar que slapd puede acceder a la key privada correspondiente para el certificate con el que está asegurando los services LDAP, puede verificar el file en /etc/openldap/slapd_macosxserver.conf … Busque una línea que mencione certadmin … Esa línea especifica el command que slapd usa para recuperar la key privada de Keychain. Es posible ejecutar ese command (copyr y pegar) en la Terminal para ver si se puede recuperar la frase de contraseña de la key privada:

     /usr/sbin/certadmin --get-private-key-passphrase /etc/certificates/domain.com.456DACFFC771F8EB2F5A8E0EBB269969B8164097.key.pem 

    Una vez que haya recuperado la frase de contraseña, vea si puede ver la key privada usando esa frase de contraseña:

     sudo openssl rsa -in /etc/certificates/domain.com.456DACFFC771F8EB2F5A8E0EBB269969B8164097.key.pem -text -noout 

    Cuando se le solicite la contraseña, copie y pegue el valor que obtuvo en el paso anterior. Debería ver la salida de datos de la key privada en la pantalla. Esto confirmaría que:

    1.) Tu frase de contraseña privada se puede recuperar del Llavero

    2.) La frase key en el llavero se puede utilizar para descifrar la key

    Si no puede get la frase de contraseña y desbloquear la key, es posible que slapd tampoco sea capaz de hacerlo. Creo que el software está utilizando un elemento de llavero en el llavero del sistema denominado "Administración de certificates de Mac OS X Server" con una especie de "contraseña de la aplicación". La "Cuenta" para ese artículo de llavero debe establecerse en la misma cadena única de caracteres y numbers ( 456DACFFC771F8EB2F5A8E0EBB269969B8164097 en este ejemplo) que ve en las routes de cert / key en /etc/certificates . Si no ve una de estas passwords de aplicación correspondientes en el llavero del sistema, puede ser su problema.

    Lo siguiente ha sido probado en las versiones Snow Leopard 10.6 y Lion 10.7 del sistema operativo cuando el server OpenDirectory LDAP no se inicia y el server de passwords aún se está ejecutando.

    Si echa un vistazo a la queue del file sudo tail /etc/openldap/slapd.d/cn=config.ldif , verá un set de inputs de Certificado TLS similar al siguiente:

     olcTLSCertificateFile: /etc/certificates/[myservername].ECA88C7518AEDE947AAC94D9A259D1B2E5621169.cert.pem olcTLSCACertificateFile: /etc/certificates/[myservername].ECA88C7518AEDE947AAC94D9A259D1B2E5621169.chain.pem olcTLSCertificateKeyFile: /etc/certificates/[myservername].ECA88C7518AEDE947AAC94D9A259D1B2E5621169.key.pem olcTLSCertificatePassphraseTool: /usr/sbin/certadmin --get-private-key-passphrase /etc/certificates/[myservername].ECA88C7518AEDE947AAC94D9A259D1B2E5621169.key.pem entryCSN: 20120628190714.643255Z#000000#001#000000 

    Si compara estas inputs con los valores que se muestran en / etc / certificates, lo más probable es que descubra que el número mágico es diferente para su certificate al valor que se muestra en el directory / etc / certificates de sus certificates.

    Si ejecuta el command

     sudo /usr/libexec/slapd -d 1 

    verá hacia el final del trazado una línea aproximada

     TLS: could not load verify locations (file:`/etc/certificates… 

    Para solucionar este problema, elimine manualmente las últimas cinco líneas del file /etc/openldap/slapd.d/cn=config.ldif con su editor favorito y sudo .

    Luego, para reiniciar ldap, emita los siguientes commands

     sudo /usr/bin/db_recover -h /var/db/openldap/openldap-data sudo launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist 

    Todo debería ser arreglado.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).