[UniMacTech] leopard RFC 2307 authentication issue ?

Peter Varitimidis Peter.Varitimidis at rmit.edu.au
Thu Nov 15 11:20:28 EST 2007


On 14/11/2007, at 4:32 PM, Peter Varitimidis wrote:

>
> On 14/11/2007, at 3:39 AM, Nigel Kersten wrote:
>
>>
>> On Nov 12, 2007, at 4:12 PM, Kemal Demis wrote:
>>
>>> Thanks for the tip http://discussions.apple.com/thread.jspa? 
>>> messageID=5799888 worked for me.
>>> I edited the edited the TLS_REQCERT  /etc/openldap/ldap.conf and  
>>> set it to  TLS_REQCERT = never
>>> By default in  Leopard, this is set to 'demand' (which is the  
>>> openldap default), but in Tiger, it's set to 'never'.
>>> I then rebooted the machine, and now it LDAP and E-Directory  
>>> authentication works in Leopard.
>>
>> So I would suggest running something like:
>>
>> openssl s_client -showcerts -connect your.ldap.server:636
>>
>> and check whether openssl complains.
>>
>> If you copy/paste the certs from this output and trust them in the  
>> System keychain and it still doesn't work... file a bug report,  
>> and file impact data along with the bug report
>>
>> I'm seeing bugs with certain root authorities that the OS should  
>> trust but doesn't wrt DirectoryServices.
>>
>> This isn't ideal having to switch Leopard clients to a more  
>> insecure mode, and we should get Apple to fix it.
>>
>
> I am able to replicate this on eDir 8.739 Netware 6.5 sp6
>
> 10.5 clients can now can bind over SSL, and the ldap.conf file set  
> to TLS_REQCERT = demand
>
> The certificates in Keychain are not respected.
>


Working with the Novell System Administrator here, these are the  
steps we used.

1. Export the self signed CA certificate of your LDAP directory (or  
the CA that signed the server certificate you are using) and convert  
it to PEM format. Did this by adding the CA cert to the the System  
Keychain and then exporting the certificate in PEM format.

Copy ca_cert.pem to the openSSL certificate store
    cp ca_cert.pem /System/Library/OpenSSL/certs

Find the hash value of the certificate
    openssl -noout -hash -in ca_cert.pem
This will output a number which is a hash of the name and serial  
number of the certificate. Create a symbolic link to the ca_cert.pem  
as <hash>.0 eg. 5432ac1f.0
    ln -s ca_cert.pem 5432ac1f.0

The symbolic link must be for the hashed value above plus ".0" - if  
you forget the .0 then OpenSSL won't detect it.

Your LDAP directory CA is now installed as a trusted CA in the  
openSSL framework.

2. Edit /etc/openldap/ldap.conf
    #
    # LDAP Defaults
    #

    # See ldap.conf(5) for details
    # This file should be world readable but not world writable.

    #BASE	o=my_org
    #URI	ldap://ldap.example.com ldap://ldap-master.example.com:666

    #SIZELIMIT	12
    #TIMELIMIT	15
    DEREF		never
    REFERRALS       off

    TLS_REQCERT	demand
    #TLS_REQCERT	never
    #TLS_REQCERT	allow

    TLS_CACERTDIR /System/Library/OpenSSL/certs
    # Specifies the path of a directory that contains Certificate  
Authority certificates in separate
    # individual files. The TLS_CACERT is always used before  
TLS_CACERTDIR.

3. Configure your LDAP directory server in DNS and use a DNS based  
certificate for the LDAP server. For Novell eDirectory, make sure the  
LDAP server object is configured to use the "SSL CertificateDNS".

4. Configure the Directory Utility application to use the DNS name of  
your LDAP server that matches the server certificate CN.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://auc.uow.edu.au/pipermail/unimactech/attachments/20071115/3a0ed989/attachment.html


More information about the unimactech mailing list