如何在Win7和Win8上访问存储的凭据(PasswordVault?)?
我刚刚发现Win8在控制面板上有一个部分,称为用户帐户和家庭安全与Credential Manager 。 我想访问存储在那里的凭据(不是检索密码,而是将它们用作登录的令牌)。 所以,基本上,我想在已经安装的软件上进行搭载。
在本次讨论中已经提出了与解决方案最接近的方法,并不是那么接近。
-
我在哪里可以找到Windows.Security.Credentials.PasswordVault的程序集? 我一直在谷歌搜索两个小时,但我只获得有关应用程序开发的信息,而我将瞄准桌面。
-
有没有办法解析对Win7和Win8的预存凭据的访问? 我担心在Win8中对保险库设施进行了大幅改造,使得无法同时定位两个平台。
如何:使用Reference Manager添加或删除引用说:
在桌面项目中,默认情况下不显示Core选项卡。 您可以通过打开项目节点的快捷菜单,选择卸载项目 ,添加以下代码段并重新打开项目(在项目节点上选择重新加载 项目 )来添加Windows运行时。 调用“ 参考管理器”对话框时,将显示“核心”选项卡。
8.0 确保选中此选项卡上的Windows框。 然后,您应该能够使用WinRT元素。
我遇到了同样的问题,发现在任何地方都没有简单的答案。
这是我发现的:
- 您需要卸载项目并添加
TargetPlatformVersion
,如上所述。 - 添加引用:
C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Annotated\Windows.winmd
- 还添加引用:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll
您可以使用包装的凭据管理包 。 这是一个开源项目。 我在Windows 7中检查过,它运行正常。
为了保存您的数据,请使用以下代码:
Credential saved = new Credential("username", "password", "MyApp", CredentialType.Generic); saved.PersistanceType = PersistanceType.LocalComputer; saved.Save();
并加载您的数据使用:
Credential credential = new Credential { Target = "MyApp", Type = CredentialType.Generic }; credential.Load();