问题标签 [credential-providers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1462 浏览

c++ - 如何编写 KSP 以连接到 KERB_CERTIFICATE_LOGON

大家好,我编写了一个自定义凭据提供程序,在使用用户名/密码作为凭据时可以正常工作,密码是通过蓝牙传输的。毕竟这并不难,因为文档会告诉您要实现哪些接口。

现在我想更改凭据以使用证书。我看到我应该为此使用 KERB_CERTIFICATE_LOGON 结构。深入研究该主题后,我发现我应该实现一个自定义密钥存储提供程序,如microsoft 的这篇文章中所述。这就是我迷失的地方。也许我愚蠢地搜索正确的文档,但我只是找不到我必须实现哪些接口才能拥有可以在 KERB_CERTIFICATE_LOGON 结构的 CspData 字段中引用的 KSP。我只是找到了一堆方法,然后快速搜索 NCRYPT_CERTIFICATE_PROPERTY(在上面的链接文章中提到)在谷歌中发现了惊人的两个结果。

我发现这个 SO-question可以帮助我在拥有 credentialprovider 和 KSP 时连接它,但它没有解释如何编写 KSP。:-(

谁能指导我在哪里可以找到信息或显示在类似场景中使用的 KSP 的简短示例(只是方法声明,以及如何在对 KERB_CERTIFICATE_LOGON 的调用中使用生成的 KSP)?

0 投票
2 回答
1011 浏览

windows - 我可以在 Windows 的登录和资源管理器 shell 之间插入程序吗?

我打算在超级用户中问这个,但它与 C/C++ 和 Win32 编程有关,所以我会在这里问。我希望在用户登录和 Windows 7+ 的 Windows shell 之间添加一个步骤。这些是我研究和尝试但成功有限的事情:

  1. MSGINA存根,它似乎可以完美运行,但在 Windows Vista 中已停产,因此我无法使用它。
  2. 我看过自定义Windows Credential Providers,但我不完全确定这会做我想要的(在登录后和 windows shell 之前启动一个应用程序)。
  3. 一个(半)自定义外壳,它可以满足我的需要,然后启动普通的 Windows 外壳(explorer.exe)。

选项 3 让我最接近,但我的问题是,如果我创建了HKLM\...\Winlogon:Shell指向我的程序的注册表值,我无法将 explorer.exe 作为 shell 启动。我可以在退出并启动资源管理器之前创建Shell值,HKCU然后将其更改为,explorer.exe然后将值恢复到我的程序中。这会起作用,但不如使用HKLM. 在这种情况下,我什至无法使用HKLM,因为我的程序正在当前用户的上下文中执行,并且用户没有对该密钥的写入权限。

是否有任何创造性的方法可以做到这一点或我错过的任何其他可能性?上面的选项 2 似乎不可行,但如果我错了,请纠正我。

0 投票
1 回答
316 浏览

windows - 强制更改密码时凭据管理器 DLL 导致登录挂起

我创建了一个Credential ManagerDLL 来利用该NPLogonNotify事件。我正在一个完全修补的Windows 7 Ultimate.

当用户登录我的实现时,会NPLogonNotify使用CreateProcess. 这些进程是 Windows 应用程序,一切正常。

当我强制用户在下次登录时更改密码时,他们更改密码并且系统挂起“更改密码”。当用户更改密码时,在内部创建新进程的效果NPLoponNotify并不好。

NPLogonNotify我已经通过注释掉该导出中的所有代码并测试强制密码更改来验证它是代码。如果我将所有代码都注释掉了,那么密码更改就可以完美运行,代码会无限期地挂起。

以下是凭证管理器的导出功能

NPGetCaps

NPPasswordChangeNotify

注意:上述功能对系统挂起没有影响,我尝试完全省略导出,我仍然得到相同的结果。

NPLogonNotify

我知道上面的代码很糟糕,没有错误检查,也不安全。我这样做是为了了解更多关于凭证管理器的测试和学习练习。

有谁知道为什么里面的代码NPLogonNotify在用户登录时可以完美运行,但是当用户在登录时被迫更改密码时会完全挂起系统?

0 投票
1 回答
1435 浏览

authentication - 使用自定义凭据提供程序的 Windows 自定义身份验证

我想在 Windows 启动时启动我使用平均堆栈开发的独立应用程序。我想使用此应用程序使用 WINDOWS CUSTOM CREDENTIAL 执行一些生物特征身份验证和登录窗口。

我在 Microsoft 论坛https://code.msdn.microsoft.com/windowsapps/V2-Credential-Provider-7549a730#content中找到了示例凭据提供程序, 但我是新手,不知道如何自定义此代码以启动我的应用程序。

有人可以给我分享一些清晰的指南或帮助我启动这个应用程序吗?

提前致谢

0 投票
0 回答
679 浏览

c++ - C++获取远程桌面连接的SessionID

我正在尝试获取远程桌面连接的 SessionID。

因此,我们在 C++ 中为 windows 制作了凭据提供程序,但我们正在尝试获取会话 id,该会话 id 也可以在

事件查看器 > 应用程序和服务日志 > Microsoft > Windows > TerminalServices-LocalSessionManager > 操作

有没有办法获得这个会话 ID?

0 投票
0 回答
185 浏览

windows - 如何在 Windows 10 上实施双重身份验证?

一旦用户使用其正常凭据登录到 Windows,我想与服务器通信,让该服务器向我的手机发送推送通知,并通过确认是我在我的手机上完成 Windows 登录过程。我目前坚持让 Windows 在 Windows 登录中输入正确的凭据后向我的服务器发送通知。

我已经阅读了几乎所有关于该主题的文档,但我仍然没有答案。首先,我了解了 Credential Providers,但我不认为这与 cred 提供者有关,因为 cred 提供者只有在成功的本地 Windows 登录后才能看到。即使用户能够使用其本地凭据成功登录,我也希望能够停止登录。我相信信用提供者 API 不允许这样做。

我已经研究过实现一个子身份验证包,但是它们似乎不适用于交互式登录。我查看了 Winlogon 通知事件,但它们似乎不受特定 Windows 版本的支持。

我已经读到可能可以为此使用网络提供商,但我找不到任何关于这样做的细节的文档或示例。

我知道这是可能的,因为 Duo Security 已经做到了,我想自己做。有人对我如何进行有任何指导吗?谢谢

0 投票
1 回答
1432 浏览

c++ - Windows 中用于生物识别身份验证的凭据提供程序

我有一个基于 USB 的自定义指纹识别设备。如何将设备上的指纹与 Windows 机器的用户相关联(使用 CredentialProvider)。首先,我希望在指纹扫描时自动登录,而不提示输入用户名/密码。

我意识到应该有一些注册过程来将指纹绑定到 Windows 用户;但我在这个方向上找不到任何技术资源。

提前致谢。

0 投票
0 回答
157 浏览

windows - 创建可以在会话 0 期间访问网络摄像头的自定义凭据提供程序

到目前为止,我的印象是在登录期间,会话 0 中无法访问网络摄像头和麦克风。我看到一个应用程序https://da.keylemon.com/home这样做。需要帮助了解如何在登录期间访问网络摄像头?

0 投票
1 回答
1432 浏览

c++ - 检查用户是否是 Windows 中 C++ 中本地计算机上的管理员

我正在尝试找到解决方案或 winapi 来检查本地计算机上的用户名是否为管理员。
该进程在 Windows 凭据提供程序下运行,因此我相信检查当前用户线程不会给我想要的值。

请注意,我已经阅读了 StackOverflow 中指向MSDN的其他答案,该 MSDN评估当前线程的用户访问令牌。

我有需要查找访问信息的用户名,用户是否在当前机器上具有管理员访问权限

欢迎任何指示或建议。

0 投票
1 回答
767 浏览

credential-providers - 自定义凭据提供程序未加载

我正在为我的大学计算机中心创建一个自定义凭据提供程序。

支持的平台是 Win 7。

我在几台电脑上测试过。它在大多数情况下都可以正常工作,但是对于某些 PC 凭据提供程序 dll 未加载。所有注册表项都存在。

请提出解决方案。我已经被困了好几个星期了。