startTLS経由でLDAPに接続しようとしていますが、問題が発生しています。このガイドを順を追って説明しました https://help.ubuntu.com/12.04/serverguide/openldap-server.html#openldap-tls とLDAPは、「ldapsearch- Ubuntu Zever 12.04のxZZ -h 172.25.80.144 "
しかし、私のUbuntuデスクトップ11.04クライアントでは、次のエラーが発生します。
ldapsearch -x -H 172.25.80.144 -ZZ
ldap_start_tls: Connect error (-11)
additional info: **TLS: hostname does not match CN in peer certificate**
サーバー/etc/ldap/ldap.conf
BASE dc=prueba,dc=borja
URI ldap://prueba.borja
SIZELIMIT 12
TIMELIMIT 15
DEREF never
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
クライアント/etc/ldap.conf
ssl start_tls
tls_checkpeer no
/etc/ldap/ldap.conf
BASE dc=prueba,dc=borja
URI ldap://prueba.borja
SIZELIMIT 12
TIMELIMIT 15
DEREF never
TLS_REQCERT allow
誰でもこれを修正する方法を教えてもらえますか?ホスト名は大丈夫だと思います。
ありがとう!
試す
TLS_REQCERT never
/etc/ldap/ldap.conf内。これにより、証明書のチェックが防止されます。接続のセキュリティがさらに低下することに注意してください。
/etc/ldap.confはldapsearch(1)に影響を与えるべきではありません
また、コマンドラインで2番目の-Zを削除してみてください。 TLS_REQCERTが許可されていても、それが原因で失敗する可能性があります。
私がこの投稿を見て気づいたことのいくつか。
まず、LDAPSではなく、標準のLDAP上でLDAPサーバーを実行しています。つまり、ldaps://prueba.borja
次に、構成に基づいて、LDAPサーバーがサービスを提供するように構成された証明書がないようです。すべて識別されるのは、サーバーがCAチェーンを解決するクライアントとして機能するとき、および/またはクライアントが要求したときにチェーンを送信するときに、信頼に使用されるCAです。
最後に、クライアントからのエラーは、提供されているTLS証明書に、クライアントが要求していない共通名(CN)またはサブジェクト代替名(SAN)があることを示しています。これには、LDAPサーバーに接続するクライアントが次のようなことを行う必要があります
ldapsearch -x -H prueba.borja -ZZ
これには、証明書にprueba.borjaの共通名(CN)またはprueba.borjaのサブジェクト代替名(SAN)が必要です。
また、リマインダーとして、LDAPサーバーが提供する証明書は、使用している認証局(CA)ルートおよび中間体によって署名されている必要があります。そうでない場合、追加のエラーが発生します。会社が生成した認証局を使用している場合は、管理者が生成できるはずです。パブリックドメイン認証局を使用している場合は、証明書の生成についてベンダーにお問い合わせください。どちらの場合も、一般名および/またはサブジェクトの別名を特定した名前に調整するように伝えてください。
すべてを正しくセットアップすると、適切なTLSハンドシェイクが正常に行われます