[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: backend-meta usage



"unknown CA" suggests you examine the TLS_CACERT directive. Perhaps it points to something that the user running slapd isn't permitted to read? (Alternately, verify that you're running ldapwhoami under the same conditions as slapd, in terms of uid, chroot, etc.)

Look around with that, maybe drill down to a truss/strace (look for open() or open64() or something like that on the TLS_CACERT file) if things still aren't working.

On Tue, 23 Jan 2007, Stephen Agar wrote:

thanks for the advice, ldapwhoami -H ldaps://directory.company.com
-D"blahblahblah" succeeds.

ldapwhoami -H ldaps://localhost -D"blahblahblah" fails when use via the meta
db is attempted.

in my slapd debug, i'm seeing the following:

TLS certificate verification: Error, unable to get local issuer certificate
TLS trace: SSL_connect:SSLv3 read server certificate A
TLS trace: SSL_connect:SSLv3 read server certificate request A
TLS trace: SSL_connect:SSLv3 read server done A
TLS trace: SSL_connect:SSLv3 write client certificate A
TLS trace: SSL_connect:SSLv3 write client key exchange A
TLS trace: SSL_connect:SSLv3 write certificate verify A
TLS trace: SSL_connect:SSLv3 write change cipher spec A
TLS trace: SSL_connect:SSLv3 write finished A
TLS trace: SSL_connect:SSLv3 flush data
TLS trace: SSL3 alert read:fatal:unknown CA
TLS trace: SSL_connect:failed in SSLv3 read finished A

so it makes me think that it doesnt recognize the cert as being from a valid
CA. i don't have access to the cert on the other server, and I have tried:

TLS_REQCERT     allow (and also never)

any thoughts? thanks so much for your help so far.

--stephen


On 1/23/07, Aaron Richton <richton@nbcs.rutgers.edu> wrote:

That looks like OK syntax. Get ldapwhoami(1) and similar working at the command line directly. e.g.

server$ ldapwhoami -H ldaps://directory.company.com/ [...]

I suspect this will fail. (Often CA validation fails, for example.) Once
you have ldap.conf such that this works, the slapd.conf syntax you
mentioned should be OK. If you can get the command line to work as the
same user you're running slapd as, but slapd still fails, try turning up
slapd debugging.

You can also try "tls propagate" or "tls start". See slapd-meta man page
for details.

On Tue, 23 Jan 2007, Stephen Agar wrote:

> one more followup question. i want the "meta" database on the external
> server contacted via tls/ssl.
> if I set:
>
> uri             "ldap://directory.company.com/ou=People,o=company,c=US";
>
> things work perfectly, however if i set:
>
> uri             "ldaps://directory.company.com/ou=People,o=company,c=US"
>
> i get "server is unavailable" when i do things like ldapwhoami. is there
> something i can configure in my ldap.conf to allow ldaps authentication
to
> the server defined in my "meta" stanza?
>
> --stephen
>
> On 1/22/07, Stephen Agar <seagar@gmail.com> wrote:
>>
>> wow....thanks a bunch, that worked perfectly.
>>
>> --stephen
>>
>> On 1/22/07, Aaron Richton <richton@nbcs.rutgers.edu > wrote:
>> >
>> > Try something more like:
>> >
>> > database        meta
>> > suffix          "ou=people,o=company,c=US"
>> > subordinate
>> >
>> > database        bdb
>> > suffix          "o=company,c=US"
>> >
>> > see if that does what you want...
>> >
>> > On Mon, 22 Jan 2007, Stephen Agar wrote:
>> >
>> > > I have an LDAP server with a base "o=company, c=us".  There is
another
>> >
>> > > server which controls "ou=people,o=company,c=us",  so in slapd.confi
>> > have
>> > > the following:
>> > >
>> > > database        bdb
>> > > suffix          "o=company,c=US"
>> > > rootdn          "cn=Manager,o=company,c=US"
>> > > rootpw          *******
>> > > directory       /usr/var/openldap-data
>> > > # Indices to maintain
>> > > index   objectClass     eq
>> > > index   ou,cn,uid       eq,pres,sub
>> > >
>> > > #meta test
>> > > database        meta
>> > > suffix          "ou=people,o=company,c=US"
>> > > uri
>> > "ldap://directory.company.com/ou=People,o=company,c=US";
>> > >
>> > >
>> > > When I try to start slapd, I get: /etc/openldap/slapd.conf: line
84:
>> > > <suffix> namingContext "o=company,c=US" already served by a
preceding
>> > bdb
>> > > database serving namingContext "o=company,c=US". Am I misusing
meta?
>> > Can I
>> > > not proxy binds/lookups to specific OUs to a secondary LDAP?  I
>> > understand
>> > > what the message is saying, but don't think I understand the proper
>> > use of
>> > > meta.
>> > >
>> > > For example, I have an ou=groups that contains "groupofnames" and
the
>> > > members of those groups are like
>> > "uid=123456,ou=people,o=company,c=us". So I
>> > > want ou = groups owned on my server, then the when specific members
>> > try to
>> > > bind, they are proxied to this external LDAP server that serves
>> > > ou=people,o=company,c=us and contains their uids and passwords.  Am
I
>> > going
>> > > about this the wrong way? Is there a way to accomplish what im
trying
>> > to do?
>> > >
>> > >
>> > > Thanks in advance...
>> > > --stephen
>> > >
>> >
>>
>>
>