2013-06-05 123 views
0

我寫經由LDAP認證用戶的樣本客戶機(在C/C++編碼的)。該客戶端是爲Windows和Linux開發的。如何在Windows上禁用LDAP驗證的證書驗證?

對於Linux,我正在使用編號爲--with-tls(OpenSSL)的OpenLDAP庫。爲了通過加密通道驗證用戶,我跳過了服務器 - 客戶端證書驗證。爲此,我將ldap選項設置爲:

option = LDAP_OPT_X_TLS_NEVER; 
returnCode = ldap_set_option(vLdapConnection, LDAP_OPT_X_TLS_REQUIRE_CERT, &option); 

if(returnCode != LDAP_OPT_SUCCESS){ 
    return FALSE; 
} 

這將跳過驗證驗證並始終允許客戶端進行身份驗證。

然而,在Windows上我使用wldap.dll的應用程序。我無法弄清楚如何通過加密連接禁用LDAP的服務器 - 客戶端證書驗證。

,當我通過運行:

returnCode = ldap_set_option(vLdapConnection, LDAP_OPT_SSL, LDAP_OPT_ON); 

的RETURNCODE總是被設置爲LDAP_SERVER_DOWN = 0x51

如何在Windows禁用客戶證書驗證的LDAP與Wldap32.dll?

+0

爲什麼?你正在完成的所有事情都是降低安全性。如果您的LDAP服務器具有CA簽名的證書,則不需要這些。如果你不想保護它,爲什麼要使用SSL呢? – EJP

+0

這只是一個早期的測試目的。我們目前沒有任何CA簽名的證書可供測試。 –

+0

我建議你跳過它。讓它以錯誤的方式工作是沒有意義的。使用明文,直到獲得證書。 – EJP

回答

1

請看Session Options,特別是LDAP_OPT_SERVER_CERTIFICATE。它允許您指定一個回調函數來驗證服務器證書。