是否可以使用GSSAPI進行NTLM v1/v2身份驗證?我正在嘗試構建一個Web服務器,與squid/apache非常相似,但我想使用NTLM /協商協議來驗證可能使用IE/FireFox的客戶端。我嘗試使用heimdal庫,但無法使gss_accept_sec_context正常工作。它僅僅因「請求不支持的機制」而失敗。在gss_accept_sec_context嘗試之前調用gss_acquire_cred時,我可以確認服務主體名稱,spnego的OID等確實發生了。當然,我通過base64解碼授權標頭來提取從客戶端收到的令牌。我正在使用C++,並在debian上進行實驗。 我相信這裏周圍的一個精彩的黑客知道更多,希望會分享一些重要的線索。用於NTLM身份驗證的GSSAPI
在此先感謝。
你正在發送'WWW-Authenticate:Negotiate'頭文件嗎?客戶端將嘗試Kerberos身份驗證,而不是NTLM。 –
我認爲答案是否定的 - GSSAPI只能執行Kerberos。爲什麼要使用NTLM而不是Kerberos? –
@愛德華湯姆森GSSAPI *可以*做NTLM。 GSSAPI中的G表示* generic *。 Kerberos和NTLM是GSSAPI可以使用的幾種*機制中的兩種*機制。 –