directory-api mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Flavio Mattos <flaviomatto...@gmail.com>
Subject LdapNetworkConnection - SSL handshake failed
Date Tue, 18 Mar 2014 01:06:07 GMT
Hi guys..

I have been trying to connect to an open ldap server using ssl/ldaps
I can connect to that server using apache studio(via ldaps) and I would
like to connect to the same server using the apache api.

This is the code... One detail is that I generated the key in the server
using openssl


Then I have done some research and some people say that I need to generate
a key in the java pattern.. so  then I generated a PKCS #12 key store using
something like

openssl pkcs12 -export -in cert.pem -inkey key.pem > server.p12
and then
keytool -importkeystore -srckeystore server.p12 -destkeystore server.jks
-srcstoretype pkcs12


I have attached the stacktrace..
The exception happens in the bind method

public static void initConnection() throws LdapException, IOException {

LdapConnection conn ...

        if (conn == null) {
            LdapConnectionConfig connectionConfig = new
LdapConnectionConfig();
            KeyManagerFactory keyManagerFactory = null;
            try {

                FileInputStream fis = new FileInputStream("server.jks");


                keyManagerFactory =
KeyManagerFactory.getInstance("SunX509");
                KeyStore keyStore =
KeyStore.getInstance(KeyStore.getDefaultType());
                char[] password = new String("mykeyPass").toCharArray();

                keyStore.load(fis, password);

                keyManagerFactory.init(keyStore, password);

                keyManagerFactory.getKeyManagers();

connectionConfig.setKeyManagers(keyManagerFactory.getKeyManagers());

            } catch (NoSuchAlgorithmException ex) {
                ex.printStackTrace(System.out);
            } catch (KeyStoreException ex) {
                ex.printStackTrace(System.out);
            } catch (UnrecoverableKeyException ex) {
                ex.printStackTrace(System.out);
            } catch (CertificateException ex) {
                ex.printStackTrace(System.out);
            }

            connectionConfig.setLdapHost("myhost");
            connectionConfig.setLdapPort(636);
            connectionConfig.setName("cn=Manager,dc=example,dc=com");
            connectionConfig.setCredentials("mypass");
            connectionConfig.setUseSsl(true);
            connectionConfig.setSslProtocol("SSLv3");
            conn = new LdapNetworkConnection(connectionConfig);

            conn.connect();
    conn.bind();

        }

Thanks
Flavio

Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message