Hello,
I have very specific requirements. We want to use a LDAP server for
storing X.509 certificates. At runtime certificates are requested from
the LDAP server. However there will be the case that a certificate is
unknown by the server. In this case the certificate is requested from a
3rd pary system, stored into the LDAP server to avoid the fallback for
future requests, and returned to the client originally requesting the
certificate.
Hence I wonder to write a component forwarding client requests to a
connected LDAP server and falling back to the other approach in case of
no result on the LDAP. However this means I have to be able to "speak"
the LDAP protocol at least to return data obtained from the fallback
approach as proper LDP protocol data units or to forward responses from
the LDAP back to the client. The Java classes make it really simple to
"unwrap" data, for example to get a requested certificate as byte[] but
this gives no hint to me how to "wrap" the data into proper LDAP responses.
Unfortunately Google gives no search result providing held in writing a
LDAP server in Java. Can someone provide help by giving information
about a specific package to look into the Apache DS source code? It
would also appreciate other approaches. However my component must be
chainable. Thus extending the Apache DS by self written interceptors may
be a problem due to possible performance overhead (not offending but
having the complete logic of the server in each step of a chain feels
like an overkill and we may produce a high load such as 2.400.000
requests every 900 seconds).
Any useful hints?
With kind regards
Sebastian