Articles of 凭证提供程序

基于证书的login

我目前正在为基于智能卡的login工作。 为此,我开发了一个凭证提供程序,可以与用作读卡器替代品的启用nfc的智能手机进行通信。 智能手机和cp之间的通信是通过蓝牙和/或标准networking连接完成的。 我目前的状态是,一切正常,直到我想发送收集的凭据login到开始login尝试。 基本上我的问题是,我不知道如何使用从智能卡获得的证书现在login到Windows。 主要的问题是,我似乎无法find相应的apis来达到证书。 有人知道如何做到这一点? 一个正确的文件链接将帮助我已经。 据我所知,LogonUI使用Kerberos。 他们正在使用MIT的实施吗? 感谢您的帮助提前!

Windows中的凭据提供程序用于生物度量身份validation

我有一个基于自定义的USB指纹识别设备。 如何将设备上的指纹与Windows机器的用户相关联(使用CredentialProvider)。 首先,我希望在指纹扫描时自动login应该没有任何提示input用户名/密码。 我意识到应该有一些注册过程将指纹绑定到Windows用户; 但是我无法在这个方向find任何技术资源。 提前致谢。

如何从C ++中的PWSTR中提取一个子string

我目前正在使用C ++修改Windows 7的凭据提供程序。 Windows SDK需要使用PWSTR。 我遇到了一个问题,用户名有时被作为域名\用户名,有时作为域名.tld \用户名,有时只是用户名。 我想要做的是从这里提取用户名,只有斜杠后面的子string。 我是C ++的新手,没有一个string函数可以与PWSTR一起工作。 我已经尝试了一些转换为wchar_t *,但它仍然没有得到我的任何地方。 这怎么能实现? TIA

具有映射到一个智能卡证书的多个ID的LsaLogonUser用户

我正在使用智能卡证书validation用户的应用程序。 其中一个证书映射到多个ID。 Windows(凭证提供程序)通过使用“提示”(Hint)属性和“引脚”(Pin),在此类环境中login用户。 我想实现与LsalogonUser API相同。 问题是结构“KERB_CERTIFICATE_LOGON”中没有“提示”字段。 typedef struct _KERB_CERTIFICATE_LOGON { KERB_LOGON_SUBMIT_TYPE MessageType; UNICODE_STRING DomainName; UNICODE_STRING UserName; UNICODE_STRING Pin; ULONG Flags; ULONG CspDataLength; PUCHAR CspData; } KERB_CERTIFICATE_LOGON, *PKERB_CERTIFICATE_LOGON; 我有一个证书映射到一个ID的场景的工作代码。 来源: https : //www.idrix.fr/Root/Samples/LsaSmartCardLogon.cpp 我的问题是如何Microsoft Windows凭据提供程序validation用户提示“属性? 我可以做什么来传递“提示”属性到LsaLogonUser API,以便它可以正确validation用户? 谢谢,

凭证提供者通过networking进行通信

首先让我解释我想要的解决scheme: 我正在通过将login凭据发送到外部authentication服务器,然后将相同的凭证以及一些额外的authenticationparameter passing回凭证提供程序来使自定义凭证提供程序对用户进行身份validation。 凭证提供程序然后将这些凭证发送到本地安全颁发机构,然后基于自定义的身份validation程序包对用户进行身份validation。 我在Windows中进行编程相当新颖,但是我一直在研究Credential Provider Technical Reference,所以我对它的工作原理有了一些了解。 我还没有想到的是这样的:当编写一个自定义的Credential Provider时,我可以像上面我的例子中提出的那样对它进行编程以进行外部通信吗? 我已经阅读过我可以使用WinHTTP向Credential Provider发送数据的地方。 它是否正确? 问候,bagzera

Windows 8凭证提供商:将RFID链接到一个账户

我做了一个Windows 8凭据提供商。 一旦用户接近RFID,他们就可以login而不用input用户名和密码。 authentication信息当前通过纯文本文件链接。 它存储元组(rfid,username,userpassword)。 这是不安全的,意味着成为概念validation的临时解决scheme。 我如何安全地链接使用Windows 8框架的RFID和帐户?

使用MinGW编译凭证提供程序

我发现了一些来自微软的例子,但我不知道如何开始。 我有似乎是一个VS项目和一个registry项文件。 没有包含makefile,也没有关于如何构build的任何指示。 我想用MinGW使用G ++编译器。 用例是简单的httpauthentication。 我有我的pam-http项目在Linux上工作。 我如何去编译一个简单的Credential Provider? 有没有任何教程,给build立脚本/生成文件? 我非常喜欢在可能的情况下使用FOSS,因此MinGW和g ++,以及我在Windows上编译的经验(我几年前在一份工作中使用过VS)。 最终我想用cURL链接,但是一旦我build立了一些东西,我就可以弄清楚。 注意: 我发现这些,但我正在寻找使用g ++的构build脚本: 构buildWindows 7的自定义凭据提供程序 http://msdn.microsoft.com/en-us/magazine/cc163489.aspx 我分享了克里斯森的观点 。 编辑: 我在MinGW的网站上发现了这个 ,说MS可以创buildDLL链接。 我不想使用Visual Studio。 我更喜欢命令行编译工具,而不是绑定到特定的构build工具(如ANT或make)。

凭据提供程序使用情况:从Windows 10中删除CPUS_UNLOCK_WORKSTATION

我正在开发自定义凭据提供程序,并且需要在运行时知道该scheme是login还是解锁会话。 为此,我检查由ICredentialProvider接口的SetUsageScenario返回的CREDENTIAL_PROVIDER_USAGE_SCENARIO 。 在Windows 10上,如果我在login或locking会话时独立,我总是将CPUS_LOGON作为使用场景,而在以前的Windows版本中,locking会话时返回CPUS_UNLOCK_WORKSTATION,login时返回CPUS_LOGON。 所以看起来,自从Windows 10上没有MSDN上报告的变化。 有没有其他的方法来检测使用场景是否locking会话?

在“其他用户”磁贴上显示V2凭证提供程序

我正在尝试编写一个自定义Windows凭据提供程序。 我已经下载了V2凭证提供程序示例,并且可以构build,注册和使用它。 为了testing,我build立了一个hyper-v的Windows 8.1实例,并join了一个windowstesting域。 但是,自定义凭据提供程序仅显示在用户切片上,而不显示在“其他用户”切片上。 文档( Windows 8.docx中的凭据提供程序框架更改 )提供了一个小的片段: // Gets the SID of the user corresponding to the credential. HRESULT CSampleCredential::GetUserSid(__deref_out PWSTR *ppszSid) { *ppszSid = nullptr; HRESULT hr = E_UNEXPECTED; // _pszUserSid is a private member of CSampleCredential if (_pszUserSid != nullptr) { // ppszSid will be freed by Logon UI hr = […]

将button添加到Windows 7login屏幕

我想为Windows 7用户实现自复位密码function。 login屏幕提示域用户应该显示一个忘记密码button,这将打开密码重置向导。 所以问题是如何添加一个命令button到标准的Windowslogin屏幕? 我知道在Windows XP中的GINA如下所述: 将命令button添加到Windowslogin屏幕 但是这个话题已经三年了,而在Vista / Windows 7中,微软提出了“Microsoft Windows Credential Provider”。