<html><body>
<p><font size="2" face="sans-serif">So, having some fun today, trying to get a javascript in a docker container to speak to FreeIPA via LDAPS.</font><br>
<font size="2" face="sans-serif">I made sure that the key was inserted into the store, (aba-idam:/etc/ipa/ca.crt), and ensured that an ldap user was created for ldap binding (coincidentally I used "binding").</font><br>
<font size="2" face="sans-serif">I also added a user in ipa called ddfusr, and set its password, and logged in via kinit to ensure that we could check it. it is available, and is able to log in and getent its information, not to mention I can see it has Kerberos info and all that jazz.</font><br>
<br>
<font size="2" face="sans-serif">So, based on the ldif, we entered the data we expect to be able to log in with into the java script. And so we get back an error=32.</font><br>
<br>
<font size="2" face="sans-serif">What am I missing here?</font><br>
<br>
<font size="2" face="sans-serif">Information included here:</font><br>
<br>
<font size="2" face="sans-serif">LDASEARCH RESPONSE binding</font><br>
<font size="2" face="sans-serif"># ldapsearch -x uid=binding</font><br>
<font size="2" face="sans-serif"> # extended LDIF</font><br>
<font size="2" face="sans-serif"> #</font><br>
<font size="2" face="sans-serif"> # LDAPv3</font><br>
<font size="2" face="sans-serif"> # base <dc=aba,dc=house,dc=com> (default) with scope subtree</font><br>
<font size="2" face="sans-serif"> # filter: uid=binding</font><br>
<font size="2" face="sans-serif"> # requesting: ALL</font><br>
<font size="2" face="sans-serif"> #</font><br>
<br>
<font size="2" face="sans-serif"> # search result</font><br>
<font size="2" face="sans-serif"> search: 2</font><br>
<font size="2" face="sans-serif"> result: 0 Success</font><br>
<br>
<font size="2" face="sans-serif"> # numResponses: 1</font><br>
<br>
<font size="2" face="sans-serif">LDAPSEARCH RESPONSE ddfusr</font><br>
<font size="2" face="sans-serif"># ldapsearch -x uid=ddfusr</font><br>
<font size="2" face="sans-serif"> # extended LDIF</font><br>
<font size="2" face="sans-serif"> #</font><br>
<font size="2" face="sans-serif"> # LDAPv3</font><br>
<font size="2" face="sans-serif"> # base <dc=aba,dc=house,dc=com> (default) with scope subtree</font><br>
<font size="2" face="sans-serif"> # filter: uid=ddfusr</font><br>
<font size="2" face="sans-serif"> # requesting: ALL</font><br>
<font size="2" face="sans-serif"> #</font><br>
<br>
<font size="2" face="sans-serif"> # ddfusr, users, compat, aba.house.com</font><br>
<font size="2" face="sans-serif"> dn: uid=ddfusr,cn=users,cn=compat,dc=aba,dc=house,dc=com</font><br>
<font size="2" face="sans-serif"> cn: ddf user</font><br>
<font size="2" face="sans-serif"> objectClass: posixAccount</font><br>
<font size="2" face="sans-serif"> objectClass: top</font><br>
<font size="2" face="sans-serif"> gidNumber: 1043600007</font><br>
<font size="2" face="sans-serif"> gecos: ddf user</font><br>
<font size="2" face="sans-serif"> uidNumber: 1043600007</font><br>
<font size="2" face="sans-serif"> loginShell: /bin/sh</font><br>
<font size="2" face="sans-serif"> homeDirectory: /home/ddfusr</font><br>
<font size="2" face="sans-serif"> uid: ddfusr</font><br>
<br>
<font size="2" face="sans-serif"> # ddfusr, users, accounts, aba.house.com</font><br>
<font size="2" face="sans-serif"> dn: uid=ddfusr,cn=users,cn=accounts,dc=aba,dc=house,dc=com</font><br>
<font size="2" face="sans-serif"> displayName: ddf user</font><br>
<font size="2" face="sans-serif"> uid: ddfusr</font><br>
<font size="2" face="sans-serif"> objectClass: ipaobject</font><br>
<font size="2" face="sans-serif"> objectClass: person</font><br>
<font size="2" face="sans-serif"> objectClass: top</font><br>
<font size="2" face="sans-serif"> objectClass: ipasshuser</font><br>
<font size="2" face="sans-serif"> objectClass: inetorgperson</font><br>
<font size="2" face="sans-serif"> objectClass: organizationalperson</font><br>
<font size="2" face="sans-serif"> objectClass: krbticketpolicyaux</font><br>
<font size="2" face="sans-serif"> objectClass: krbprincipalaux</font><br>
<font size="2" face="sans-serif"> objectClass: inetuser</font><br>
<font size="2" face="sans-serif"> objectClass: posixaccount</font><br>
<font size="2" face="sans-serif"> objectClass: ipaSshGroupOfPubKeys</font><br>
<font size="2" face="sans-serif"> objectClass: mepOriginEntry</font><br>
<font size="2" face="sans-serif"> objectClass: ipauserauthtypeclass</font><br>
<font size="2" face="sans-serif"> loginShell: /bin/sh</font><br>
<font size="2" face="sans-serif"> initials: du</font><br>
<font size="2" face="sans-serif"> gecos: ddf user</font><br>
<font size="2" face="sans-serif"> sn: user</font><br>
<font size="2" face="sans-serif"> homeDirectory: /home/ddfusr</font><br>
<font size="2" face="sans-serif"> givenName: ddf</font><br>
<font size="2" face="sans-serif"> cn: ddf user</font><br>
<font size="2" face="sans-serif"> uidNumber: 1043600007</font><br>
<font size="2" face="sans-serif"> gidNumber: 1043600007</font><br>
<br>
<font size="2" face="sans-serif"> # search result</font><br>
<font size="2" face="sans-serif"> search: 2</font><br>
<font size="2" face="sans-serif"> result: 0 Success</font><br>
<br>
<font size="2" face="sans-serif"> # numResponses: 3</font><br>
<font size="2" face="sans-serif"> # numEntries: 2</font><br>
<br>
<font size="2" face="sans-serif">KLIST RESPONSE</font><br>
<font size="2" face="sans-serif"># klist</font><br>
<font size="2" face="sans-serif"> Ticket cache: KEYRING:persistent:0:krb_ccache_wtB5z4N</font><br>
<font size="2" face="sans-serif"> Default principal: ddfusr@ABA.HOUSE.COM</font><br>
<br>
<font size="2" face="sans-serif"> Valid starting Expires Service principal</font><br>
<font size="2" face="sans-serif"> 08/12/2016 11:56:17 08/13/2016 11:56:14 krbtgt/ABA.HOUSE.COM@ABA.HOUSE.COM</font><br>
<br>
<br>
<font size="2" face="sans-serif">GETENT RESPONSE</font><br>
<font size="2" face="sans-serif"># getent passwd ddfusr</font><br>
<font size="2" face="sans-serif"> ddfusr:*:1043600007:1043600007:ddf user:/home/ddfusr:/bin/sh</font><br>
<br>
<br>
<font size="2" face="sans-serif">LDAP-MODULE.XML</font><br>
<font size="2" face="sans-serif"> <jaas:config name="karaf" rank="1"></font><br>
<font size="2" face="sans-serif"> <jaas:module className="org.apache.karaf.jaas.modules.ldap.LDAPLoginModule"</font><br>
<font size="2" face="sans-serif"> flags="required"></font><br>
<font size="2" face="sans-serif"> initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory</font><br>
<font size="2" face="sans-serif"> connection.username=cn=binding</font><br>
<font size="2" face="sans-serif"> connection.password=password!</font><br>
<font size="2" face="sans-serif"> connection.url=ldaps://aba-idam.aba.house.com:636</font><br>
<font size="2" face="sans-serif"> user.base.dn=cn=users,cn=accounts,dc=aba,dc=house,dc=com</font><br>
<font size="2" face="sans-serif"> user.filter=(uid=%u)</font><br>
<font size="2" face="sans-serif"> user.search.subtree=true</font><br>
<font size="2" face="sans-serif"> role.base.dn=cn=JBoss,dc=aba,dc=house,dc=com</font><br>
<font size="2" face="sans-serif"> role.name.attribute=cn</font><br>
<font size="2" face="sans-serif"> role.filter=(member=uid=%u,cn=users,cn=accounts,dc=aba,dc=house,dc=com)</font><br>
<font size="2" face="sans-serif"> role.search.subtree=true</font><br>
<font size="2" face="sans-serif"> role.mapping=admin=group,admin,manager,viewer,webconsole</font><br>
<font size="2" face="sans-serif"> authentication=simple</font><br>
<font size="2" face="sans-serif"> ssl.protocol=SSL</font><br>
<font size="2" face="sans-serif"> ssl.truststore=truststore</font><br>
<font size="2" face="sans-serif"> ssl.algorithm=PKIX</font><br>
<font size="2" face="sans-serif"> </jaas:module></font><br>
<font size="2" face="sans-serif"> </jaas:config></font><br>
<br>
<font size="2" face="sans-serif"> <jaas:keystore name="truststore"</font><br>
<font size="2" face="sans-serif"> path="</font><font size="2" face="sans-serif"><a href="file:$">file:$</a></font><font size="2" face="sans-serif">{javax.net.ssl.trustStore}"</font><br>
<font size="2" face="sans-serif"> keystorePassword="${javax.net.ssl.trustStorePassword}" /></font><br>
<br>
<font size="2" face="sans-serif">JAVA LOG FILE:</font><br>
<font size="2" face="sans-serif"> 2016-08-12 11:10:27,174 | WARN | d]-nio2-thread-5 | LDAPLoginModule | 116 - org.apache.karaf.jaas.modules - 4.0.4 | Can't connect to the LDAP server: [LDAP: error code 32 - No Such Object]</font><br>
<font size="2" face="sans-serif"> javax.naming.AuthenticationException: [LDAP: error code 32 - No Such Object]</font><br>
<font size="2" face="sans-serif"> at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:295)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2788)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:319)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)</font><br>
<font size="2" face="sans-serif"> at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.naming.InitialContext.init(InitialContext.java:244)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.naming.InitialContext.<init>(InitialContext.java:216)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at org.apache.karaf.jaas.modules.ldap.LDAPCache.open(LDAPCache.java:113)[116:org.apache.karaf.jaas.modules:4.0.4]</font><br>
<font size="2" face="sans-serif"> at org.apache.karaf.jaas.modules.ldap.LDAPCache.doGetUserDnAndNamespace(LDAPCache.java:147)[116:org.apache.karaf.jaas.modules:4.0.4]</font><br>
<font size="2" face="sans-serif"> at org.apache.karaf.jaas.modules.ldap.LDAPCache.getUserDnAndNamespace(LDAPCache.java:138)[116:org.apache.karaf.jaas.modules:4.0.4]</font><br>
<font size="2" face="sans-serif"> at org.apache.karaf.jaas.modules.ldap.LDAPLoginModule.doLogin(LDAPLoginModule.java:110)[116:org.apache.karaf.jaas.modules:4.0.4]</font><br>
<font size="2" face="sans-serif"> at org.apache.karaf.jaas.modules.ldap.LDAPLoginModule.login(LDAPLoginModule.java:54)[116:org.apache.karaf.jaas.modules:4.0.4]</font><br>
<font size="2" face="sans-serif"> at org.apache.karaf.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:83)[org.apache.karaf.jaas.boot-4.0.4.jar:]</font><br>
<font size="2" face="sans-serif"> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at java.security.AccessController.doPrivileged(Native Method)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at javax.security.auth.login.LoginContext.login(LoginContext.java:587)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at org.apache.karaf.shell.ssh.KarafJaasAuthenticator.authenticate(KarafJaasAuthenticator.java:78)</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.server.auth.UserAuthKeyboardInteractive.checkPassword(UserAuthKeyboardInteractive.java:75)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.server.auth.UserAuthKeyboardInteractive.doAuth(UserAuthKeyboardInteractive.java:68)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.server.auth.AbstractUserAuth.next(AbstractUserAuth.java:53)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.server.session.ServerUserAuthService.process(ServerUserAuthService.java:159)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.session.AbstractSession.doHandleMessage(AbstractSession.java:431)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.session.AbstractSession.handleMessage(AbstractSession.java:326)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.session.AbstractSession.decode(AbstractSession.java:780)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.session.AbstractSession.messageReceived(AbstractSession.java:308)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:54)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:184)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:170)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.io.nio2.Nio2CompletionHandler$1.run(Nio2CompletionHandler.java:32)</font><br>
<font size="2" face="sans-serif"> at java.security.AccessController.doPrivileged(Native Method)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at org.apache.sshd.common.io.nio2.Nio2CompletionHandler.completed(Nio2CompletionHandler.java:30)[1:org.apache.sshd.core:0.14.0]</font><br>
<font size="2" face="sans-serif"> at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at sun.nio.ch.Invoker$2.run(Invoker.java:218)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65]</font><br>
<font size="2" face="sans-serif"> at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]</font><br>
<br>
<br>
<font size="2" face="sans-serif">RH IDM ACCESS LOG FILE</font><br>
<font size="2" face="sans-serif"> [12/Aug/2016:11:05:34 -0500] conn=850 fd=112 slot=112 SSL connection from 172.17.4.64 to 172.17.4.20</font><br>
<font size="2" face="sans-serif"> [12/Aug/2016:11:05:34 -0500] conn=850 TLS1.2 256-bit AES-GCM</font><br>
<font size="2" face="sans-serif"> [12/Aug/2016:11:05:34 -0500] conn=850 op=0 BIND dn="cn=binding" method=128 version=3</font><br>
<font size="2" face="sans-serif"> [12/Aug/2016:11:05:34 -0500] conn=850 op=0 RESULT err=32 tag=97 nentries=0 etime=0</font><br>
<font size="2" face="sans-serif"> [12/Aug/2016:11:05:34 -0500] conn=850 op=-1 fd=112 closed - B1<br>
</font><br>
<font size="2" face="Trebuchet MS"><b>Michael Sean Conley</b></font></body></html>