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