Hi,

I have a problem trying to create a TLS negotiation or an SSL binding with my 
Active Directory server running on windows 2008, although it works fine with 
JNDI api but the apache directory is more feasible for my case since it will 
include Kerberos authentication.

I use the certificate for the account I use to login with as a PKCS12 
certificate, and I have the CA from the server added to the cacerts file but I 
get failed to initialize SSL context exception, the exception is at the end of 
the email.

My code:

LdapConnectionConfig config = new LdapConnectionConfig();
config.setLdapHost(SERVER);
config.setLdapPort(389);
KeyStore keystore = KeyStore.getInstance("JKS");
                keystore.load(new 
FileInputStream("C:\\bea\\jrockit_160_05\\jre\\lib\\security\\certificate.jks"),
 "P@ssw0rd".toCharArray());
TrustManagerFactory tmf = 
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(keystore);
config.setTrustManagers(tmf.getTrustManagers());
config.setName("CN=testUser,CN=Users,DC=bmrk,DC=com");
config.setCredentials("P@ssw0rd");
LdapNetworkConnection ldapNetworkConnection = new LdapNetworkConnection(config);
ldapNetworkConnection.startTls();//the exception is thrown here
ldapNetworkConnection.bind();

Exception:
Exception in thread "Main Thread" 
org.apache.directory.api.ldap.model.exception.LdapException: Failed to 
initialize the SSL context
      at 
org.apache.directory.ldap.client.api.LdapNetworkConnection.addSslFilter(LdapNetworkConnection.java:3839)
      at 
org.apache.directory.ldap.client.api.LdapNetworkConnection.startTls(LdapNetworkConnection.java:3788)
      at LDAPConTest.testLoginToLDAPDOMAIN(LDAPConTest.java:102)
      at LDAPConTest.main(LDAPConTest.java:57)
Caused by: org.apache.mina.core.filterchain.IoFilterLifeCycleException: 
onPreAdd(): sslFilter:SslFilter in (0x00000001: nio socket, client, 
/10.90.92.20:39519 => BMRKDC02.bmrk.com/10.90.92.3:389)
      at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.register(DefaultIoFilterChain.java:383)
      at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.addFirst(DefaultIoFilterChain.java:184)
      at 
org.apache.directory.ldap.client.api.LdapNetworkConnection.addSslFilter(LdapNetworkConnection.java:3832)
      ... 3 more
Caused by: java.lang.IllegalArgumentException: TLSv1.1
      at 
com.sun.net.ssl.internal.ssl.ProtocolVersion.valueOf(ProtocolVersion.java:133)
      at com.sun.net.ssl.internal.ssl.ProtocolList.<init>(ProtocolList.java:38)
      at 
com.sun.net.ssl.internal.ssl.SSLEngineImpl.setEnabledProtocols(SSLEngineImpl.java:1736)
      at org.apache.mina.filter.ssl.SslHandler.init(SslHandler.java:176)
      at org.apache.mina.filter.ssl.SslFilter.onPreAdd(SslFilter.java:426)
      at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.register(DefaultIoFilterChain.java:381)
      ... 5 more


Any ideas where the issue may come from?

Thanks,

Karim

Reply via email to