我想使用OpenLDAP服务器从C++客户端应用程序安全地进行身份验证,例如,使用SSL/TLS或SSL。我使用的是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 (十进制)。
我已从此处将OpenLDAP安装到我的计算机上:
http://www.userbooster.de/en/download/openldap-for-windows.aspx
我使用127.0.0.1 (localhost)作为主机。
OpenLDAP调试日志如下所示:
TLS跟踪: SSL_accept:SSLv3刷新数据
tls_read: want=5 error=Unknown错误
TLS跟踪: SSLv3中的SSL_accept:error读取客户端证书A
TLS跟踪: SSLv3中的SSL_accept:error读取客户端证书A
守护进程:1个描述符上的活动
守护进程:已唤醒
后台进程: WSselect: listen=2 active_threads=0 tvp=NULL
后台进程: WSselect: listen=3 active_threads=0 tvp=NULL
根据日志,这似乎与证书有某种关系。OpenLDAP配置是安装包中的about默认值,例如:
TLSVerifyClient从不
TLSCipherSuite高:中:-SSLv2
证书。/ TLSCertificateFile /certs/server.pem.
证书。/ TLSCertificateKeyFile /certs/server.pem.
证书。/ TLSCACertificateFile /certs/server.pem.
有人知道ldap_connect失败的原因吗?
或者,是否有人知道有关此主题的有用教程或C++代码示例?我尤其不清楚客户端证书是如何链接到客户端代码的。换句话说,它是如何在客户端C++代码中定义的,证书是在身份验证期间从哪里获得的。
BR,陀默
发布于 2012-04-25 05:17:09
找到这篇文章:http://www.openldap.org/lists/openldap-technical/200903/msg00061.html。看起来您可能希望将TLSCipherSuite HIGH:MEDIUM:-SSLv2更改为TLSCipherSuite HIGH:MEDIUM:+SSLv2。
https://stackoverflow.com/questions/10287104
复制相似问题