当尝试在Windows 10上检索凭据处理程序时,无论我为安全包提供什么功能,都会收到此错误。Kerberos是Windows系统上的默认值,因此我尝试进行以下调用:
SEC_WINNT_AUTH_IDENTITY*标识符=空;//这是用有效凭据填写的static CredHandle CredHandle;
AcquireCredentialsHandle(NULL,"Kerberos",SECPKG_CRED_OUTBOUND,NULL,(void*(ident,NULL,NULL,&credHandle,NULL(;
我已经在注册表中验证了Kerberos与其他安全包一起存在。无论我尝试使用哪个包(Kerberos、SChannel、NTLM等(,我都会不断收到相同的错误。
我发现了问题所在。仅使用诸如"UTF-8"之类的字符串就存在UTF-8到UTF-16的转换问题;协商";。为了解决此问题,必须使用以下内容来代替纯字符串:(TCHAR*(文本("协商"(