Tag: passwordvault

PasswordVault在多大程度上保护和隔离数据?

我正在考虑使用PasswordVault在我的Windowsapp store应用中存储敏感数据。 我已经做过一些关于检查本课程提供的保护的基础研究。 我编写了两个示例应用程序,第一个将一些数据写入Vault,第二个尝试获取该数据。 即使第二个应用程序使用与用于保存数据的第一个应用程序相同的密钥,它似乎也是如此; 第二个应用程序无法检索该数据。 这很好。 有人知道PasswordVault如何将数据隔离到一个应用程序? 对于另一个应用程序来获取它的应用程序的PasswordVault数据,它是否必须冒充我的应用程序的sid? 为清楚起见: App1做到了这一点 const string VAULT_RESOURCE = “App1 Credentials”; var vault = new PasswordVault(); vault.Add(new PasswordCredential(VAULT_RESOURCE, “Foo”, “Bar”)); App2就是这样做的 var vault = new PasswordVault(); const string VAULT_RESOURCE = “App1 Credentials”; try { var creds = vault.FindAllByResource(VAULT_RESOURCE).FirstOrDefault(); if (creds != null) { UserName = creds.UserName; Password.Text = vault.Retrieve(VAULT_RESOURCE, […]

检查PasswordVault /凭证管理器是否在加载时有应用数据

嘿,我正在使用PasswordVault在我的Windows 8应用程序中存储用户凭据。 我希望应用程序在加载时执行的操作是检查PasswordVault /凭据管理器是否已为我的应用程序存储了值。 如果不这样做,我希望它留在页面上,以便用户可以登录,但如果凭证已经存在,那么我希望它直接进入第2页。 我尝试使用以下代码: private Windows.Security.Credentials.PasswordCredential GetCredentialFromLocker() { Windows.Security.Credentials.PasswordCredential credential = null; var vault = new Windows.Security.Credentials.PasswordVault(); var credentialList = vault.FindAllByResource(“MYapp”); if (credentialList.Count > 0) if (credentialList.Count == 1) credential = credentialList[0]; else // User selecor return credential; } 然后在页面加载我有 private void Page_Loaded(object sender, RoutedEventArgs e) { var loginCredential = GetCredentialFromLocker(); if (loginCredential […]

从桌面应用程序使用时的PasswordVault安全性

我想在我的桌面应用程序(基于WPF)中使用Windows.Security.Credentials.PasswordVault来安全地存储用户的密码。 我设法使用此MSDN文章访问此Windows 10 API。 我做了一些实验,看来从一个桌面应用程序(不是本机UWP应用程序)写入PasswordVault的任何数据都可以从任何其他桌面应用程序中读取。 即使使用Desktop Bridge技术打包我的桌面应用程序,因此具有Package Identity也无法解决此漏洞。 任何想法如何解决这个问题,并能够从其他应用程序安全存储应用程序的数据? 更新:似乎PasswordVault没有为DPAPI增加额外的安全性。 案件结案,结果为否定。

我可以向PasswordCredential.Properties添加自定义属性吗?

在WinRT API中有Windows.Security.Credentials命名空间,其中包含PasswordCredential类。 使用它我们可以加密敏感数据,如用户名和密码,但类本身有一个名为“属性”的属性,它看起来像一个方便的容器,其他自定义属性以某种方式与存储的凭据相关,但我不能让它工作。 文档中的“属性”有一个“只读”访问类型,但我认为这只意味着我无法更改它指向的容器的引用。 我的问题是: PasswordCredential的“Properties”属性是否可用于程序员? 对不起文本中的任何错误,你也可以在答案中更正我的英语,这不是我的母语;) 编辑:这可能是有用的: 以下代码中的“添加”方法抛出ArgumentException: PasswordVault v = new PasswordVault(); PasswordCredential c = new PasswordCredential(“TEST”, “TEST”, “TEST”); c.Properties.Add(“Name”, “testName”); v.Add(c);

如何在Win7和Win8上访问存储的凭据(PasswordVault?)?

我刚刚发现Win8在控制面板上有一个部分,称为用户帐户和家庭安全与Credential Manager 。 我想访问存储在那里的凭据(不是检索密码,而是将它们用作登录的令牌)。 所以,基本上,我想在已经安装的软件上进行搭载。 在本次讨论中已经提出了与解决方案最接近的方法,并不是那么接近。 我在哪里可以找到Windows.Security.Credentials.PasswordVault的程序集? 我一直在谷歌搜索两个小时,但我只获得有关应用程序开发的信息,而我将瞄准桌面。 有没有办法解析对Win7和Win8的预存凭据的访问? 我担心在Win8中对保险库设施进行了大幅改造,使得无法同时定位两个平台。