2012-12-03 131 views
2

我通過LDAP URL獲得從Active Directory中的一些細節,這
的ADsOpenObject在MSDN庫:ADsOpenObject密碼加密?

hRes = ADsOpenObject(pwszBindingString, pwszUSER, pwszPASS, ADS_SECURE_AUTHENTICATION,IID_IADs, (void**)&iads); 

我有懷疑給定的密碼是否被加密或不連接時域控制器

回答

3

This MSDN page

注意如果用戶名和密碼,而無需指定認證標誌指定的用戶名和密碼以明文形式在網絡上傳輸,這是一種安全風險。不指定用戶名和密碼,不指定認證標誌。

您正在使用ADS_SECURE_AUTHENTICATION標誌從ADS_AUTHENTICATION_ENUM,這意味着:

要求安全認證。當設置此標誌時,WinNT提供程序使用NT LAN管理器(NTLM)來驗證客戶端。 Active Directory將使用Kerberos和可能的NTLM來驗證客戶端。當用戶名和密碼爲NULL時,ADSI使用調用線程的安全上下文綁定到對象,該線程可以是運行應用程序的用戶帳戶的安全上下文,也可以是調用線程表示的客戶端用戶帳戶的安全上下文。

NTLM和Kerberos都是「加密」密碼的協議。如果你想要加密的用戶名,那麼你需要SSL(它要求爲域設置證書服務器)。

您始終可以使用數據包嗅探器來驗證信息是否已加密。

+0

謝謝,但我不清楚與國旗,我應該指定任何特定的標誌,否則在ADS_AUTHENTICATION_ENUM任何標誌爲加密的用戶名,密碼在ldap連接 – mreaevnia

+0

@RaviKumar我編輯了答案與'ADS_SECURE_AUTHENTICATION'標誌的描述,併爲你解釋它。 –

+0

@Sean Hall我現在沒有時間「嗅」,這是我選擇相信的一個附屬項目! – Liviu