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、トゥオモ