Windows服务上的LDAP over SSL

时间:2010-01-07 16:57:14

标签: c++ ssl ldap

我有一个使用SSL连接到LDAP服务器的应用程序。我遇到的问题是,当我将它作为控制台应用程序运行时,它成功连接,但当我将应用程序作为Windows服务运行时,它会失败。

有些信息可以提供帮助:

  • ldap_sslinit ALLWAYS返回成功

1 ldap_connect = 0(成功),所有LDAP端口在用户ADMINISTRATOR下作为APPLICATION运行   测试端口389,3268没有ssl和636,3269没有SSL 2 ldap_connect = 0(成功)作为服务运行,端口为389或3268 3 ldap_connect = 81(未连接)使用端口636或3269运行AS SERVICE    我们测试了在用户管理员下运行的服务    并且还在其他具有所有权限的特殊用户代理下进行了测试

  • 我们启用了一些登录服务权限,其他人没有成功。
  • 我们还将证书添加到本地计算机和服务用户

测试示例

pLdapConnection = ldap_sslinit((PWCHAR)ldap_host.c_str(), ldap_port,1); // Secure LDAP 
// allways return success
ldap_set_option(pLdapConnection, LDAP_OPT_SSL, LDAP_OPT_ON); // set SSL option
ldap_set_option(pLdapConnection, LDAP_OPT_REFERRALS, LDAP_OPT_OFF); // required  
result = ldap_connect(pLdapConnection, &timeout);

result = LDAP_SERVER_DOWN(0x51)

我感谢你能给我的任何帮助。

1 个答案:

答案 0 :(得分:0)

运行的服务是什么帐户?是否可以访问LDAP服务器的特定域用户?您可能也想在LDAP服务器上set the SPNs;在进行身份验证之前,我遇到过双跳令牌问题。