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, "Foo").Password; } } catch (COMException) { // this exception likely means that no credentials have been stored } 

现在App2收到一个exception,表明不存在这样的凭证。 这很好。 我想要了解的是,App2需要在多大程度上将数据App1存储起来。