2014-10-09 34 views
0

我有一個windows7連接到windows2008-r2域。SSPI總是拿起NTLM

每次我嘗試一個SSPI「Negociate」(C++)時,我都會回到NTLM。

我不明白爲什麼...... DC上的DNS都可以。

有事要做我不?

如果我運行klist的我可以看到所有的權利,一切都似乎是確定(我猜)

更新

好了,現在我剛剛開始瞭解(至少)。

我曾經給過SPN「」InitializeSecurityContext,在那種情況下,這種情況直接回落到NTLM。

現在我想,我永遠的客戶端上,這樣的:

wchar_t szSPN[256]={0}; 
    ULONG cchSPN = sizeof szSPN/sizeof *szSPN; 
    GetUserNameEx(NameDnsDomain, szSPN, &cchSPN); 
    ... 
    InitializeSecurityContext(hCred, NULL, szPSN, ...) 

這使我回錯誤0x8009030c

其他怪異的東西: 如果我設置szSPN以 「管理員」,現在它與kerberos合作! 但是 如果我用JOE設置szSPN,它會失敗......(假設我在DC上創建了一個新用戶JOE)。

Wawww,我不明白髮生了什麼...!?

+0

您是否試圖挑選Kerberos包並檢查「SECURITY_STATUS」? – 2014-10-09 10:03:32

回答

0

什麼是您試圖訪問的資源?它必須是爲Kerberos正確配置的服務器/服務。