Hi!

On 10/08/2020 13:53, Tero Saarni wrote:
Hi,

I'm using a custom server built on ApacheDS API.  I would like to use client certificate authentication by utilizing SASL EXTERNAL method.  I got it working for non-admin users but I have problems with the admin:  even after adding the "userCertificate" attribute for "uid=admin,ou=system", authentication still fails due to an unknown client certificate.

I suspect that the problem is as follows:

When looking at the ApacheDS code , it seems userCertificates are only searched under searchBaseDn [1], which in my case is set to "dc=keycloak,dc=org". Therefore "uid=admin,ou=system" will never appear in the search results.

What would be the best approach to fix this?


Hmmm, not simple. admin is a kind of special user, which bypass most of the controls.


One solution would be to write a specific authenticator that deal with this special use case. The server allows you to add such an authenticator and configure it in the server config file. From the top of my head, this is what I see as a quick and dirty solution.


Best regards
Tero

[1] https://github.com/apache/directory-server/blob/11ec7f62cf552727098dd2739046b819e94d7307/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/sasl/external/certificate/ExternalSaslServer.java#L153


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to