2011-07-06 13 views
1

私のMacでは、OpenLDAPをインストールし、/etc/openldap/ldap.confを修正し、certへのパスを指定しました。しかし、私はこのエラーを取得しておいてください。OpenLDAP:Macで接続に失敗する

SERVER_DOWN: { 
    'info': 
    'error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE: 
    routines:SSL3_GET_SERVER_CERTIFICATE: 
     certificate verify failed (unable to get local issuer certificate)', 
    'desc': "Can't contact LDAP server" 
} 

のldap.confはそれであります

TLS_REQCERT demand 
TLS_CACERT /etc/openldap/CA_tncdc01.cer 

そしてCERがあります:OpenSSLは検証

$ ll /etc/openldap/CA_tncdc01.cer 
[email protected] 1 eric staff 1298 Jun 23 09:12 /etc/openldap/CA_tncdc01.cer 

は言う:

$ openssl verify /etc/openldap/CA_tncdc01.cer 
error 18 at 0 depth lookup:self signed certificate 
OK 

バインドするには、私は(Python)を使用します:

url = "ldaps://[snip]:636" 
l = ldap.initialize(url) 
l.simple_bind_s(bind_name, bind_password) 

すべてが整然としているようです。

おかげ エリック

答えて

0

わからないが、あなたのサーバーの証明書を発行理解されるようには見えませ認証局の公開鍵。私のクライアントで私が持っている:

BASEのDC = DOM、DC = FR URIのLDAPS://srvldap.dom.fr/ TLS_CACERT /etc/ssl/MyCAcert.pem TLS_REQCERT需要

。 pemと.cerは同じDER証明書で、1つはバイナリ、もう1つはASCIIです.pem形式を試すことはできますか?

1

設定:

TLS_REQCERT demand 

が...デフォルトのTLS証明書検証の設定です。それはまた、最も強いものです。

証明書が(署名した通り)自己署名されていて、設定が完全​​な検証結果を要求している(TLS_REQCERTに「要求」を使用している)という理由が考えられます。

「要求」を使用すると、証明書があらゆる点で完璧でない場合は、LDAP SSL/TLS接続が失敗します。

TLS_CACERTを使用して "CA"を指定したという事実は良いですが、CACERTが不完全である可能性があります。どこかのチェーンに証明書文字列がない可能性があります。たとえば、証明書がルートCAではなく中間CAを使用して生成された場合、複数のCAを連結する必要があることがあります。

最も簡単な解決策は、 'demand'を 'allow'または 'never'に置き換え、そこから再テストすることです。もし私が選ぶことができたら、私は '決して'の代わりに '許可'を示唆します。私はこれが役に立てば幸い

...

マックス