如何在Windows 8.1中安装凭据提供程序

4
我目前正在尝试在Windows 8.1上实现自定义凭据提供程序,并查阅了各种博客、文章以及来自Windows 8.1 SDK的示例。
凭证提供程序的实现是可以的,我相信我已经掌握了实现自定义提供程序所需的概念。
然而,我的问题是我不确定如何“安装”凭证提供程序本身。 Windows 8.1 SDK提供的示例编译为.dll文件。此DLL文件没有向REGSVR32注册,因此我不确定如何让系统知道这个提供程序。
是否有人知道我如何安装凭证提供程序?任何帮助都将不胜感激。

我相信你需要将它添加到注册表中:HKLM\Software\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers。 - Harry Johnston
谢谢回复。我已将DLL的GUID添加到凭据提供程序列表中,但由于该DLL未注册(我想你会这样称呼它),因此该GUID无意义,因为LogonUI不知道该GUID属于什么? - NiMux
一个凭证提供程序是一个COM接口,因此它只需要在COM中进行注册。但我不熟悉相关的示例代码,所以我不确定你应该如何做。当您尝试使用'regsvr32'时会发生什么? - Harry Johnston
尝试使用regsvr32注册时,会显示一个错误,指出在此模块中找不到DllRegisterServer入口点。我在网上找到了一些资源,说我需要将DLL复制到C:\ Windows \ System32,并在HKLM的凭据提供程序键中添加一些注册表条目。我已经这样做了,但重新启动后,在登录屏幕上看不到任何其他凭据提供程序。 - NiMux
2个回答

9
安装凭证提供程序,您需要遵循两个简单的步骤:
  • 将DLL文件复制到System32文件夹中(位于C:\ Windows \ System32中)。
  • 在注册表中创建一些键。如果您使用了微软的示例,则应该包含一个register.reg文件。只需执行它,正确的键就会被写入。
如果要注销凭证提供程序,只需运行“unregister.reg”文件。
现在有一个适用于凭证提供程序的适当文档,任何想要使用它们的人都应该阅读。(参考链接)

存在Windows 10的文档 - 凭据提供程序技术参考 - Alexander

3

RegisterCP.reg

Windows注册表编辑器 版本 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{GUID}] @="CP_Name" (其中“GUID”是唯一的标识符,用于标识凭据提供程序)

[HKEY_CLASSES_ROOT\CLSID\{GUID}] @="CP_Name"

[HKEY_CLASSES_ROOT\CLSID\{GUID}\InprocServer32] @="CP_Name.dll" "ThreadingModel"="Apartment"

UnregisterCP.reg

Windows注册表编辑器 版本 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{GUID}](其中“GUID”是唯一的标识符,用于标识要注销的凭据提供程序)


1
请修复注册表路径 - 漏掉了第二个反斜杠符号(必须在 {GUID} 之前加倍)以正确显示。 - Alexander
@Alexander- 谢谢伙计 - Abhineet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接