簡體   English   中英

AcquireCredentialsHandle 返回 SEC_E_SECPKG_NOT_FOUND

[英]AcquireCredentialsHandle returns SEC_E_SECPKG_NOT_FOUND

當嘗試在 Windows 10 上檢索憑證處理程序時,無論我為安全性 package 提供什么 function,我都會收到此錯誤。Kerberos 是 Windows 系統上的默認設置,因此我嘗試進行以下調用:

SEC_WINNT_AUTH_IDENTITY *ident = NULL; // 這里填寫了有效憑證 static CredHandle credHandle;

AcquireCredentialsHandle( NULL, "Kerberos", SECPKG_CRED_OUTBOUND, NULL, (void*)ident, NULL, NULL, &credHandle, NULL );

我已經在我的注冊表中驗證 Kerberos 與其他安全包一起存在。 無論我嘗試使用哪個 package(Kerberos、SChannel、NTLM 等),我都會收到同樣的錯誤。

我發現了問題所在。 僅使用諸如“Negotiate”之類的字符串存在 UTF-8 到 UTF-16 的轉換問題。 為了解決這個問題,必須使用以下內容代替純字符串:(TCHAR*)TEXT("Negotiate")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM