c++ 使用C#的Windows 10凭据提供程序

eqoofvh9  于 2023-01-28  发布在  C#
关注(0)|答案(2)|浏览(192)

我正在用C#实现一个凭据提供程序。
我已经下载了用于Windows 8的C版本的V2凭据提供程序示例,并设法使其在我的Windows 10 PC上工作。我还研究了.NET https://github.com/SteveSyfuhs/CredProvider.NET中的凭据提供程序实现,但这是针对CredUI场景的。
我已经设法使凭据提供程序显示在用户磁贴的“登录选项”下,但现在我想实现登录部分。
我必须为登录/解锁场景实现GetSerialization方法。在C
示例中,这已经实现了,但我在将其“翻译”为C#代码时遇到了麻烦,因为我不熟悉C++。
有人知道在哪里可以找到这个方法在C#中的登录/解锁场景的工作实现吗?任何帮助都将不胜感激。

stszievb

stszievb1#

我看到您只熟悉C#,并且只想将其用于您正在处理的CP。
我曾经用C开发过CP,尽管我更喜欢使用C#,因为C#更灵活。
实现Lock/Unlock并没有像你说的那样在C
示例中完全实现。你必须在正确的地方截取代码,以便在你的项目中添加额外的规则/特性。无论如何,你可以粘贴一些代码,让我们一起研究一下。

5jvtdoz2

5jvtdoz22#

您必须用C++编写KerbInteractiveUnlockLogonInit和KerbInteractiveUnlockLogonPack方法,并将其与C#项目中的DllImport一起使用。根据CREDENTIAL_PROVIDER_USAGE_SCENARIO,您需要设置KERB_INTERACTIVE_LOGON结构的MessageType属性。您可以从here获取方法。

相关问题