<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; } p.western { font-size: 10pt; } p.cjk { font-size: 10pt; } a:link { color: rgb(155, 157, 158); } p { margin-bottom: 0.1in; direction: ltr; color: rgb(52, 52, 52); line-height: 120%; text-align: justify; widows: 2; orphans: 2; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p></p>
Hi, 
<div><br>
</div>
<div>I'm trying to setup MidPoint with OpenLdap but when testing the resource connection the following error appears:<br>
</div>
<div><br>
</div>
<div><a id="id305"><em>"Generic connector error for the resource:d0811790-1d80-11e4-86b2-3c970e467874(OpenLDAP): java.security.InvalidKeyException: Illegal key size"</em></a><br>
<p><br>
</p>
<p>Java version: 1.8.0_72<br>
</p>
<p>Server: Apache Tomcat 8.0.30<br>
</p>
<p>OS: Ubuntu 14.04 LTS 64-bit<br>
</p>
<p>Midpoint connectorType: <span style="line-height:19.2px; font-size:12pt">com.evolveum.polygon.connector.ldap.LdapConnector</span></p>
<p>OpenLdap: Docker container using "dinkel/openldap" image using <span style="color:rgb(0,0,0); font-size:12pt">Debian “jessie”</span><span style="color:rgb(0,0,0); font-size:12pt">​ and openldap 2.4.40.</span></p>
<p><span style="color:rgb(0,0,0); line-height:19.2px; font-size:12pt"><br>
</span></p>
<p><span style="color:rgb(0,0,0); line-height:19.2px; font-size:12pt">I've tested Openldap container using Apache Directory Studio and I managed to create </span><span style="color:rgb(0,0,0); line-height:19.2px; font-size:12pt">Organizational</span><span style="color:rgb(0,0,0); line-height:19.2px; font-size:12pt"> units
 and People without problem.</span> Used default password "mysecretpassword"<br>
</p>
<p><br>
</p>
<p>Any idea?<br>
</p>
<p><br>
</p>
<p>Exception output from Midpoint front end:<br>
</p>
<div><operationResult xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"</div>
<div>                 xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"</div>
<div>                 xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"</div>
<div>                 xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3"</div>
<div>                 xmlns:icfs="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-3"</div>
<div>                 xmlns:ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3"></div>
<div>   <operation>com.evolveum.midpoint.provisioning.ucf.api.ConnectorInstance.configure</operation></div>
<div>   <status>fatal_error</status></div>
<div>   <params></div>
<div>      <entry key="configuration"></div>
<div>         <unknownJavaObject></div>
<div>            <class>com.evolveum.midpoint.prism.PrismContainerValue</class></div>
<div>            <toString>PCV(null):[PC({http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3}resultsHandlerConfiguration):[PCV(null):[PP({.../connector/icf-1/connector-schema-3}enableNormalizingResultsHandler):[PPV(Boolean:false)],
 PP({.../connector/icf-1/connector-schema-3}enableFilteredResultsHandler):[PPV(Boolean:false)], PP({.../connector/icf-1/connector-schema-3}enableAttributesToGetSearchResultsHandler):[PPV(Boolean:false)]]], PC({http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3}configurationProperties):[PCV(null):[PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}bindPassword):[PPV(ProtectedStringType:ProtectedStringType(encrypted=EncryptedDataType(encryptionMethod=EncryptionMethodType(algorithm=http://www.w3.org/2001/04/xmlenc#aes128-cbc),
 keyInfo=KeyInfoType(keyName=x032KTDe5pheYvv7EqrmSWu+FPI=), cipherData=CipherDataType(cipherValue=[48 bytes]))))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}vlvSortOrderingRule):[PPV(String:2.5.13.3)],
 PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}operationalAttributes):[PPV(String:memberOf), PPV(String:createTimestamp)], PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}bindDn):[PPV(String:cn=admin,dc=ldap,dc=example,dc=org)],
 PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}host):[PPV(String:localhost)], PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}passwordHashAlgorithm):[PPV(String:SSHA)],
 PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}vlvSortAttribute):[PPV(String:uid)], PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}pagingStrategy):[PPV(String:auto)],
 PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}port):[PPV(Integer:389)], PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}usePermissiveModify):[PPV(String:always)],
 PP({.../connector/icf-1/bundle/com.evolveum.polygon.connector-ldap/com.evolveum.polygon.connector.ldap.LdapConnector}baseContext):[PPV(String:dc=ldap,dc=example,dc=org)]]]]</toString></div>
<div>         </unknownJavaObject></div>
<div>      </entry></div>
<div>   </params></div>
<div>   <token>1000000000000000216</token></div>
<div>   <message>java.security.InvalidKeyException: Illegal key size</message></div>
<div>   <details>java.lang.RuntimeException: java.security.InvalidKeyException: Illegal key size</div>
<div>org.identityconnectors.common.security.impl.EncryptorImpl.encrypt(EncryptorImpl.java:95)</div>
<div>org.identityconnectors.common.security.GuardedString.encryptBytes(GuardedString.java:266)</div>
<div>org.identityconnectors.common.security.GuardedString.encryptChars(GuardedString.java:242)</div>
<div>org.identityconnectors.common.security.GuardedString.&lt;init&gt;(GuardedString.java:91)</div>
<div>com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.toGuardedString(ConnectorInstanceIcfImpl.java:3276)</div>
<div>com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.convertToIcf(ConnectorInstanceIcfImpl.java:3234)</div>
<div>com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.convertToIcfSingle(ConnectorInstanceIcfImpl.java:3213)</div>
<div>com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.transformConnectorConfiguration(ConnectorInstanceIcfImpl.java:3067)</div>
<div>com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.transformConnectorConfiguration(ConnectorInstanceIcfImpl.java:2997)</div>
<div>com.evolveum.midpoint.provisioning.ucf.impl.ConnectorInstanceIcfImpl.configure(ConnectorInstanceIcfImpl.java:290)</div>
<div>com.evolveum.midpoint.provisioning.impl.ConnectorManager.createConfiguredConnectorInstance(ConnectorManager.java:157)</div>
<div>com.evolveum.midpoint.provisioning.impl.ConnectorManager.getConfiguredConnectorInstance(ConnectorManager.java:129)</div>
<div>com.evolveum.midpoint.provisioning.impl.ResourceManager.getConnectorInstance(ResourceManager.java:813)</div>
<div>com.evolveum.midpoint.provisioning.impl.ResourceManager.completeResource(ResourceManager.java:272)</div>
<div>com.evolveum.midpoint.provisioning.impl.ResourceManager.loadAndCacheResource(ResourceManager.java:162)</div>
<div>com.evolveum.midpoint.provisioning.impl.ResourceManager.getResource(ResourceManager.java:155)</div>
<div>com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.getObject(ProvisioningServiceImpl.java:207)</div>
<div>com.evolveum.midpoint.model.impl.ModelObjectResolver.getObject(ModelObjectResolver.java:157)</div>
<div>com.evolveum.midpoint.model.impl.controller.ModelController.getObject(ModelController.java:263)</div>
<div>sun.reflect.GeneratedMethodAccessor527.invoke(Unknown Source)</div>
<div>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</div>
<div>java.lang.reflect.Method.invoke(Method.java:498)</div>
<div>org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:507)</div>
<div>com.sun.proxy.$Proxy150.getObject(Unknown Source)</div>
<div>com.evolveum.midpoint.gui.api.util.WebModelServiceUtils.loadObject(WebModelServiceUtils.java:175)</div>
<div>com.evolveum.midpoint.web.page.admin.resources.PageResource.loadResource(PageResource.java:159)</div>
<div>com.evolveum.midpoint.web.page.admin.resources.PageResource.access$000(PageResource.java:86)</div>
<div>com.evolveum.midpoint.web.page.admin.resources.PageResource$1.load(PageResource.java:139)</div>
<div>com.evolveum.midpoint.web.page.admin.resources.PageResource$1.load(PageResource.java:135)</div>
<div>com.evolveum.midpoint.gui.api.model.LoadableModel.getObject(LoadableModel.java:58)</div>
<div>com.evolveum.midpoint.web.page.admin.resources.PageResource.initLayout(PageResource.java:169)</div>
<div>com.evolveum.midpoint.web.page.admin.resources.PageResource.initialize(PageResource.java:143)</div>
<div>com.evolveum.midpoint.web.page.admin.resources.PageResource.&lt;init&gt;(PageResource.java:124)</div>
<div>sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)</div>
<div>sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)</div>
<div>sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)</div>
<div>java.lang.reflect.Constructor.newInstance(Constructor.java:423)</div>
<div>org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:171)</div>
<div>org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:99)</div>
<div>org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:106)</div>
<div>org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:271)</div>
<div>org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:169)</div>
<div>org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)</div>
<div>org.apache.wicket.request.handler.render.WebPageRenderer.isPageStateless(WebPageRenderer.java:287)</div>
<div>org.apache.wicket.request.handler.render.WebPageRenderer.shouldRenderPageAndWriteResponse(WebPageRenderer.java:329)</div>
<div>org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:193)</div>
<div>org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)</div>
<div>org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:865)</div>
<div>org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)</div>
<div>org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)</div>
<div>org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)</div>
<div>org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)</div>
<div>org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)</div>
<div>org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)</div>
<div>org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)</div>
<div>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)</div>
<div>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)</div>
<div>org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)</div>
<div>org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)</div>
<div>org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)</div>
<div>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)</div>
<div>org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)</div>
<div>org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)</div>
<div>org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)</div>
<div>org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)</div>
<div>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)</div>
<div>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)</div>
<div>com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:86)</div>
<div>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)</div>
<div>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)</div>
<div>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)</div>
<div>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)</div>
<div>org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)</div>
<div>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)</div>
<div>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)</div>
<div>org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)</div>
<div>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)</div>
<div>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)</div>
<div>org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)</div>
<div>org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)</div>
<div>org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)</div>
<div>org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)</div>
<div>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)</div>
<div>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)</div>
<div>org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)</div>
<div>java.lang.Thread.run(Thread.java:745)</div>
<div></details></div>
<div></operationResult><br>
</div>
<p><br>
</p>
<p>Thank you in advance!<br>
</p>
<p><br>
</p>
<div id="Signature">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<font size="2"><font face="Arial,Helvetica,sans-serif">All the best,  <br>
<br>
<font color="800080">Rafa</font></font></font><span style="color:rgb(0,0,0); font-family:Helvetica; font-size:13px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px"><span style="color:rgb(0,0,0); font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; text-transform:none; white-space:normal; word-spacing:0px; font-family:Calibri,sans-serif; line-height:normal; font-size:15px">
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:13px; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; margin:0cm 0cm 0.0001pt">
<br>
</div>
</span></span><style type="text/css">
<!--
p
        {margin-bottom:0.1in;
        direction:ltr;
        color:rgb(52,52,52);
        line-height:120%;
        text-align:justify;
        widows:2;
        orphans:2}
p.western
        {font-size:10pt}
p.cjk
        {font-size:10pt}
a:link
        {color:rgb(155,157,158)}
-->
</style></div>
</div>
</div>
</body>
</html>