LDAP failed to connect due to Unexpected SSLSocketFactory implementation

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

JIRA fails to connect to LDAP server, failing 

The following appears in the atlassian-jira.log:

QuartzWorker-0 ERROR ServiceRunner     [atlassian.crowd.directory.DbCachingDirectoryPoller] Error occurred while refreshing the cache for directory [ 10000 ].
com.atlassian.crowd.exception.OperationFailedException: org.springframework.ldap.CommunicationException: xxx.xxx.xxx.xxx:636; nested exception is javax.naming.CommunicationException: xxx.xxx.xxx.xxx:636 [Root exception is java.lang.RuntimeException: Unexpected SSLSocketFactory implementation: com.ibm.jsse2.SSLSocketFactoryImpl]
	at com.atlassian.crowd.directory.SpringLDAPConnector.searchEntitiesWithRequestControls(SpringLDAPConnector.java:416)
	at com.atlassian.crowd.directory.SpringLDAPConnector.searchEntities(SpringLDAPConnector.java:384)
	at com.atlassian.crowd.directory.SpringLDAPConnector.searchUserObjects(SpringLDAPConnector.java:574)
	at com.atlassian.crowd.directory.SpringLDAPConnector.searchUsers(SpringLDAPConnector.java:944)
	at com.atlassian.crowd.directory.ldap.cache.RemoteDirectoryCacheRefresher.findAllRemoteUsers(RemoteDirectoryCacheRefresher.java:41)
	at com.atlassian.crowd.directory.ldap.cache.RemoteDirectoryCacheRefresher.synchroniseAllUsers(RemoteDirectoryCacheRefresher.java:60)
	at com.atlassian.crowd.directory.ldap.cache.AbstractCacheRefresher.synchroniseAll(AbstractCacheRefresher.java:40)
	at com.atlassian.crowd.directory.DbCachingRemoteDirectory.synchroniseCache(DbCachingRemoteDirectory.java:619)
	at com.atlassian.crowd.manager.directory.DirectorySynchroniserImpl.synchronise(DirectorySynchroniserImpl.java:63)
	at com.atlassian.crowd.directory.DbCachingDirectoryPoller.pollChanges(DbCachingDirectoryPoller.java:50)
	at com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerJob.execute(DirectoryPollerJob.java:34)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
	at com.atlassian.multitenant.quartz.MultiTenantThreadPool$MultiTenantRunnable.run(MultiTenantThreadPool.java:72)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: org.springframework.ldap.CommunicationException: xxx.xxx.xxx.xxx:636; nested exception is javax.naming.CommunicationException: xxx.xxx.xxx.xxx:636 [Root exception is java.lang.RuntimeException: Unexpected SSLSocketFactory implementation: com.ibm.jsse2.SSLSocketFactoryImpl]
	at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:98)
	at org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:266)
	at org.springframework.ldap.core.support.AbstractContextSource.getContext(AbstractContextSource.java:106)
	at org.springframework.ldap.core.support.AbstractContextSource.getReadWriteContext(AbstractContextSource.java:138)
	at org.springframework.ldap.transaction.compensating.manager.TransactionAwareContextSourceProxy.getReadWriteContext(TransactionAwareContextSourceProxy.java:94)
	at org.springframework.ldap.transaction.compensating.manager.TransactionAwareContextSourceProxy.getReadOnlyContext(TransactionAwareContextSourceProxy.java:65)
	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:287)
	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:237)
	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:624)
	at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:535)
	at com.atlassian.crowd.directory.ldap.LdapTemplateWithClassLoaderWrapper$1.call(LdapTemplateWithClassLoaderWrapper.java:56)
	at com.atlassian.crowd.directory.ldap.LdapTemplateWithClassLoaderWrapper$1.call(LdapTemplateWithClassLoaderWrapper.java:53)
	at com.atlassian.crowd.directory.ldap.LdapTemplateWithClassLoaderWrapper.invokeWithContextClassLoader(LdapTemplateWithClassLoaderWrapper.java:43)
	at com.atlassian.crowd.directory.ldap.LdapTemplateWithClassLoaderWrapper.search(LdapTemplateWithClassLoaderWrapper.java:53)
	at com.atlassian.crowd.directory.SpringLDAPConnector.searchEntitiesWithRequestControls(SpringLDAPConnector.java:412)
	... 13 more
Caused by: javax.naming.CommunicationException: xxx.xxx.xxx.xxx:636 [Root exception is java.lang.RuntimeException: Unexpected SSLSocketFactory implementation: com.ibm.jsse2.SSLSocketFactoryImpl]
	at com.sun.jndi.ldap.Connection.<init>(Connection.java:211)
	at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:128)
	at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1592)
	at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2690)
	at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:308)
	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:187)
	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:205)
	at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:148)
	at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:78)
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:250)
	at javax.naming.InitialContext.initializeDefaultInitCtx(InitialContext.java:318)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:348)
	at javax.naming.InitialContext.internalInit(InitialContext.java:286)
	at javax.naming.InitialContext.init(InitialContext.java:308)
	at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:104)
	at org.springframework.ldap.core.support.LdapContextSource.getDirContextInstance(LdapContextSource.java:43)
	at org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:254)
	... 26 more
Caused by: java.lang.RuntimeException: Unexpected SSLSocketFactory implementation: com.ibm.jsse2.SSLSocketFactoryImpl
	at com.atlassian.crowd.directory.ssl.LdapHostnameVerificationSSLSocketFactory.<init>(LdapHostnameVerificationSSLSocketFactory.java:39)
	at com.atlassian.crowd.directory.ssl.LdapHostnameVerificationSSLSocketFactory.getDefault(LdapHostnameVerificationSSLSocketFactory.java:48)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at com.sun.jndi.ldap.Connection.createSocket(Connection.java:284)
	at com.sun.jndi.ldap.Connection.<init>(Connection.java:198)
	... 42 more

Cause

JIRA is using a JAVA platform different than the supported ones

Resolution

  • Shutdown JIRA
  • Install JAVA as described on Installing Java
  • Restart the application
Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.