Ldap.confファイルでsslstart_tlsオプションが有効になっているクライアントで、Ubuntuldap認証が機能していません。 sslstart_tlsをコメントアウトすると認証できます。
LDAPサーバー証明書をアップグレードしましたが、sslが有効になっていると、ユーザーはubuntu10.04クライアントマシンで認証できなくなります。発生した変更:
Cert upgraded from 1024 to 2048 bit
now is a wildcart cert and use it to be a self-signed cert
encryption algorithm is now shaw512 (use to be md5)
私のauth.logにいくつかのエラーがあります:
nss-ldap:do_open:do_start_tls failed:stat = -1
新しい証明書(古いcentOSマシン)を使用して認証する他のクライアントがいくつかあるため、新しい証明書は機能しています。
クライアントのldapでsslを使用できなくなった理由を誰かが知っていますか?
署名階層はありますか(つまり、自己署名されていません)? 「ワイルドカード」と「自己署名」は排他的ではありません。商用ワイルドカード証明書には、階層、つまり1つ以上の中間CAとルートCAがあります。
sha-512またはmd5はハッシュ証明書の署名で使用されますが、暗号化アルゴリズムではありません。これらは証明書の整合性を検証するために使用され、接続に使用される暗号はこれとは独立してネゴシエートされます。
最も可能性の高い原因は、sha512(より正確には、「sha512WithRSAEncryption」)がUbuntu10でサポートされていないことだと思います。または、マシンに1つ以上のCA証明書(中間またはルート)がないため、フルチェーン検証を完了できません。
(Ubuntu 10マシンで)実行することにより、opensslがサーバーの新しい証明書を処理できるかどうかを確認できます。
openssl x509 -in newservercert.crt -noout -text
それは決定的ではないかもしれませんが。これも役立つ場合があります。
ldapsearch -x -Z -v -h your.ldap.server
(OpenSSLの代わりにGnuTLSが使用される可能性はわずかですが、そこでは役に立ちません。申し訳ありません!)
これを/etc/ldap/ldap.confファイルに追加することで、チェーンの問題を確認または拒否できます。
TLS_REQCERT never
それが役立つ場合は、チェーンの不足している部分を取得してローカルストアに追加する必要があります。これを実現する方法は、クライアントの構成によって異なり、/ etc/ldap /ldap.confで「TLS_CACERT」やTLS_CACERTDIRを確認します。ディレクティブはあなたが始めるところです。
考えられない原因は次のとおりです。
そして、他に何も変わっていないと仮定すると、完全性のために考えられない原因が含まれています。
この質問を解決したかどうかはわかりません。私は同じ状況に遭遇しました。 12.04はtlsを使用してLDAPサーバーに接続しますが、10.04は接続しません。私の解決策は、/etc/ldap/ldap.conf
に行を追加することです。
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
10.04クライアントは、tlsを使用してLDAPサーバーに接続できます。