0

SSL/TLS や SASL などを使用して、C++ クライアント アプリケーションから OpenLDAP サーバーで安全に認証したいと考えています。Windows 7 64 ビット オペレーティング システムを使用しています。

私はこの例を試しました:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366105%28v=vs.85%29.aspx

しかし、次の関数呼び出しでは失敗します: ULONG ldapConn = ldap_connect(pLdapConnection, NULL);

ldap_connect からの戻りコードは 81 (10 進数) です。

ここから自分のコンピューターに OpenLDAP をインストールしました。

http://www.userbooster.de/en/download/openldap-for-windows.aspx

ホストとして 127.0.0.1 (localhost) を使用します。

OpenLDAP デバッグ ログは次の
よう に なり
ます 。 1 つの記述子 デーモンのアクティビティ: 起動された デーモン: WSselect: listen=2 active_threads=0 tvp=NULL デーモン: WSselect: listen=3 active_threads=0 tvp=NULL






ログによると、これは何らかの形で証明書に関連しているようです。OpenLDAP 構成は、インストール パッケージの既定値です。たとえば、次のようになります。

TLSVerifyClient never
TLSCipherSuite HIGH:MEDIUM:-SSLv2
TLSCertificateFile ./secure/certs/server.pem
TLSCertificateKeyFile ./secure/certs/server.pem
TLSCACertificateFile ./secure/certs/server.pem

ldap_connect が失敗する理由を誰かが知っていますか?

または、このトピックに関する有用なチュートリアルまたは C++ コードの例を誰かが知っていますか? クライアント証明書がクライアント コードにどのようにリンクされているかは特に不明です。つまり、認証中に証明書が取得されるクライアント C++ コードでの定義方法です。

BR、トゥオモ

4

1 に答える 1

0

この記事が見つかりました:http ://www.openldap.org/lists/openldap-technical/200903/msg00061.html 。TLSCipherSuite HIGH:MEDIUM:-SSLv2をTLSCipherSuite HIGH:MEDIUM:+SSLv2に変更することをお勧めします。

于 2012-04-24T21:17:09.397 に答える