我已经编写了一个自定义凭据提供程序和一个密钥存储提供程序来为我使用智能手机而不是读卡器的Windows进行自定义登录。 证书通过蓝牙传送到我的密钥存储提供商,lsass.exe调用我的密钥存储提供商的SignHash功能。我使用智能手机上的私钥对哈希进行签名并将其返回给密钥存储提供程序,因此签名可以返回给lsass.exe。
我在域控制器事件日志中看到了一个kerberos票证请求,但在客户端事件日志中,我看到"不支持请求的操作"错误代码为0x80090029(NTE_NOT_SUPPORTED)。证书的扩展关键字包括clientAuth和smartcardlogon。所以我认为它应该有用。
如果没有更多信息,我不知道会出现什么问题。是否有可能让窗户吐出更多信息?
修改
我添加了一点日志记录,在我的凭据提供程序的ReportResult函数中,我看到登录错误的子状态是c0000321(STATUS_SMARTCARD_SUBSYSTEM_FAILURE)。不幸的是,这对我没什么帮助。