[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: sslv3 alert handshake failure
Yes, the question has been posted often. So has the answer.
Port 636 is the default port for ldaps, the nonstandard use of LDAP over SSL.
StartTLS is for use with plain ldap. You cannot use StartTLS with ldaps.
Get rid of the PORT 636 directive in your ldap.conf file; this configuration
cannot work if your server actually has an ldaps listener on port 636.
>From the FAQ-o-Matic - "How do I use TLS/SSL?"
http://www.openldap.org/faq/data/cache/185.html
>>>
1) LDAP + StartTLS should be directed to a NON-SECURE port (ie; -h
'ldap://<hostname><:port>/', where port is usually NOT 636 (SSL))
The initial connection will be "in the clear", so this should probably be
done before binding/authenticating. The StartTLS function will send the "TLS
OID" to the server, which should cause it to do a "context switch", perform
the TLS handshake, and enable TLS if everything succeeds.
2) LDAPS should be directed to an SSL-secured/enabled port (ie; -h
'ldaps://<hostname><:port>/', where port can be anything, but is assumed to
be 636 by default)
The initial connection should be across an already SSL-enabled connection,
though data encryption won't be enabled yet. After the SSL handshake is
performed successfully, both sides will then go into encryption mode.
Attempting to perform a 'start_tls' function (context switch) on an
SSL-enabled connection (port), will cause a failure on both sides.
<<<
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support
> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Lara Adianto
> Sent: Monday, April 12, 2004 5:00 AM
> To: openldap-software@OpenLDAP.org
> Subject: sslv3 alert handshake failure
>
>
> Hi guys,
>
> I know that this question has been posted quite often,
> but after trying so many proposed solutions on the
> net, none of them seems to work for me. I've already
> turn on -d -1, but no useful hints.
>
> The problem is as follows:
> [root@localhost test-db]# /usr/bin/ldapsearch -x -s
> base '(objectclass=*)' -H ldap://myserver.com/ -ZZ
> supportedSASLMechanisms -d 256
> request 1 done
> TLS: can't connect.
> ldap_start_tls: Connect error (91)
> additional info: error:14094410:SSL
> routines:SSL3_READ_BYTES:sslv3 alert handshake failure
> [root@localhost test-db]#
>
> I have followed the openldap SSL/TLS How-To, and I
> have [root@localhost openldap-data]# openssl s_client
> -connect myserver.com:636 -state -CAfile
> /home/user/certs/cacert.pem -cert
> /home/user/certs/ldap.client.pem -key
> /home/user/certs/keys/ldap.client.key.pem
> --> Success result, similar to the to the result given
> in the HowTo <--
>
> but....
> [root@localhost bin]# openssl s_client -connect
> myserver.com:636
> CONNECTED(00000003)
> depth=1 /C=SG/ST=Singapore/L=Singapore/O=Laras
> Com/OU=Laras Unit/CN=laras.com/Email=admin@laras.com
> verify error:num=19:self signed certificate in
> certificate chain
> verify return:0
> 23529:error:14094410:SSL
> routines:SSL3_READ_BYTES:sslv3 alert handshake
> failure:s3_pkt.c:1046:SSL alert number 40
> 23529:error:140790E5:SSL routines:SSL23_WRITE:ssl
> handshake failure:s23_lib.c:226:
> [root@localhost bin]#
>
> My slapd.conf:
> --------------
> include /usr/local/etc/openldap/schema/core.schema
> include /usr/local/etc/openldap/schema/cosine.schema
> include
> /usr/local/etc/openldap/schema/inetorgperson.schema
> include /usr/local/etc/openldap/schema/nis.schema
> include /usr/local/etc/openldap/schema/krb5-kdc.schema
>
> loglevel 256
> pidfile /usr/local/var/slapd.pid
> argsfile /usr/local/var/slapd.args
>
> database bdb
> suffix "ou=KPrincipals,dc=laras,dc=com"
> rootdn "cn=Manager,ou=KPrincipals,dc=laras,dc=com"
> rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxx
>
> directory "/var/lib/ldap"
>
> # Indices to maintain
> index objectClass eq
> index cn pres,eq
> index uid pres,eq
>
> #Specify ciphers
> TLSCipherSuite HIGH:MEDIUM:+SSLv2
> TLSCACertificateFile /usr/var/openldap-data/cacert.pem
> TLSCertificateFile
> /usr/var/openldap-data/servercrt.pem
> TLSCertificateKeyFile
> /usr/var/openldap-data/serverkey.pem
>
> TLSVerifyClient demand
>
> access to *
> by sockurl="^ldapi:///$" write
> by * write
> by * auth
> by * read
>
> My ldap.conf:
> -------------
> HOST laras.com
> PORT 636
>
> TLS_CACERT /home/user/certs/cacert.pem
> TLS_REQCERT demand
>
> What did I do wrong and what does the error means ?
>
> Thanks,
> -lara-
>
> =====
> --------------------------------------------------------------
> ----------------------
> La vie, voyez-vous, ca n'est jamais si bon ni si mauvais qu'on croit
>
> - Guy de Maupassant -
> --------------------------------------------------------------
> ----------------------
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Tax Center - File online by April 15th
> http://taxes.yahoo.com/filing.html
>