- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一段代码试图为我无法工作的远程计算机上的用户获取凭据。目前这会在运行时产生访问冲突错误 (0xc0000005):
SEC_WINNT_AUTH_IDENTITY_W identity;
ZeroMemory(&identity, sizeof(identity));
identity.Domain = (unsigned short *)_T("DOMAIN");
identity.DomainLength = lstrlenW(_T("DOMAIN"));
identity.User = (unsigned short *)_T("USER");
identity.UserLength = lstrlenW(_T("USER"));
identity.Password = (unsigned short *)_T("PASS");
identity.PasswordLength = lstrlenW(_T("PASS"));
identity.Flags = SEC_WINNT_AUTH_IDENTITY_UNICODE;
PCredHandle credentials = NULL;
PTimeStamp credentialsExpiry = NULL;
SECURITY_STATUS result = AcquireCredentialsHandleW(_T("USER"), _T("NTLM"), SECPKG_CRED_OUTBOUND, NULL, &identity, NULL, NULL, credentials, credentialsExpiry);
我不知道为什么。非常欢迎任何帮助。
最佳答案
您需要将最后一段代码更改为如下所示:
CredHandle credentials;
TimeStamp credentialsExpiry;
SECURITY_STATUS result = AcquireCredentialsHandleW(_T("USER"), _T("NTLM"),
SECPKG_CRED_OUTBOUND, NULL, &identity, NULL, NULL,
&credentials, &credentialsExpiry);
根据 MSDN docs ,最后 2 个参数中的指针在您的调用中不是可选的:
phCredential [out]
A pointer to aCredHandle structure to receive thecredential handle.
ptsExpiry [out]
A pointer to aTimeStamp structure that receives thetime at which the returned credentialsexpire. The value returned in thisTimeStamp structure depends on thesecurity package. The security packagemust return this value in local time.
This parameter is set to a constantmaximum time. There is no expirationtime for Digest security contexts orcredentials or when using the DigestSSP.
When using the Schannel SSP, thisparameter is optional. When thecredential to be used forauthentication is a certificate, thisparameter receives the expiration timefor that certificate. If nocertificate was supplied, then amaximum time value is returned.
关于c - AcquireCredentialsHandle 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3956775/
我正在为 Windows SSPI API 开发 .Net 包装器.多个 API 函数返回过期时间,例如,凭证或安全上下文过期。 到期时间存储在64位结构中,TimeStamp ,它存储自 1601
我有一段代码试图为我无法工作的远程计算机上的用户获取凭据。目前这会在运行时产生访问冲突错误 (0xc0000005): SEC_WINNT_AUTH_IDENTITY_W identity; Zero
我创建了一个自签名证书(使用 OpenSSL 创建),并使用 Windows Vista Ultimate 上的证书 MMC 管理单元 (CertMgr.msc) 将其安装到证书存储中。 我已成功使用
背景 Windows SSPI API是 Windows 安全服务的一个接口(interface),允许您相互验证客户端和服务器。 API 的主要用途之一是提供 Windows 集成身份验证,也称为单
尝试运行 Microsoft 的 Secure SOAP 示例中的代码时出现上述错误 http://msdn.microsoft.com/en-us/library/s2ya483s.aspx 来自
我调用AcquireCredentialsHandle在内核驱动程序中,传入 SCHANNEL_CRED dwCredFormat 设置为 SCH_CRED_FORMAT_CERT_HASH。它因 S
我以某种方式得出了这个 api 调用的签名,但是这个调用没有以预期的方式工作。一些重要的数据结构没有得到正确填充,因此我没有得到预期的输出。我使用的签名是: [DllImport("secur32.d
我有一段简单的 https 连接代码,可以很好地与一个 ssl 主机一起工作,即使根证书颁发机构不受信任也可以连接(这是一个沙盒环境,所以我们不担心这会造成安全漏洞,因为现在),并使用 Nuget 包
我是一名优秀的程序员,十分优秀!