2010-01-07 98 views
0

我有一個使用SSL連接到LDAP服務器的應用程序。我遇到的問題是,當我將它作爲控制檯應用程序運行時,它連接成功,但是當我將應用程序作爲Windows服務運行時,它失敗。Windows服務上的LDAP over SSL服務

有一些信息,可以幫助:

  • ldap_sslinit ALLWAYS返回成功

1 ldap_connect = 0(成功)的所有LDAP端口上運行的下用戶管理員 測試端口389應用,3268沒有ssl和636,3269使用SSL 2 ldap_connect = 0(成功)作爲服務運行,端口爲389或3268 3 ldap_connect = 81(未連接)運行帶有端口636或3269的AS SERVICE We t相關捐資用戶管理員下運行的服務 也下等特殊用戶代理測試了所有的permisions

  • 我們使一些作爲服務登錄的權限,並沒有成功等等。
  • 我們還增加證書到本地機,並給服務用戶的測試

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); 

結果= LDAP_SERVER_DOWN(0x51)

我明白任何幫助你可以給我。

回答

0

服務在哪個帳戶下運行?它是否具有訪問LDAP服務器的特定域用戶?您也可以在LDAP服務器上使用set the SPNs;在驗證之前,我有雙躍記號問題。

+0

這裏是更多信息... 運行服務爲:本地用戶,管理員,ezbio代理用戶。 變化組策略屬性:添加登錄爲服務的權限管理員,來賓等.... dsHeuristics = 0000002 DN安全權限:添加客人,添加匿名登錄,添加網絡服務,添加本地服務 ezbio-agent 特殊用戶創建運行代理的所有權限的所有 – evargas 2010-01-07 17:23:01

+0

所以,你從控制檯上運行它可以通過SSL連接或未加密(我假設你正在使用1或0在ldap_sslinit的最後一個參數),但作爲一個服務運行,你只能連接未加密的用戶?如果它是一個不可信的CA,它應該如何運行。我想不出它應該重要的原因。 – Don 2010-01-07 18:07:30