我有Windows Store / Phone通用应用程序,必须存储证书。我可以将证书加载到应用程序的CertificateStore中并使用它们。但是当谈到删除它们时,我遇到了麻烦。
例如,以下代码非常适合在Windows应用商店环境中查找我的证书:
async Task<Certificate> FindMyCert()
{
var query = new CertificateQuery();
query.FriendlyName = "mytestcert";
var certificates = await CertificateStores.FindAllAsync(query);
if (certificates.Count != 1)
{
return null;
}
return certificates[0];
}
现在,假设我要从商店中删除该证书。唯一的&#34;删除&#34;我知道是在CertificateStore对象上。所以我需要获取证书存储区然后执行删除:
var s = CertificateStores.GetStoreByName("MY");
if (s != null)
s.Delete(c);
Assert.IsNull(await FindMyCert());
只有一个问题。但是,如果您查看GetStoreName 1的文档,它会说证书库的名称不能是&#34; MY&#34;。
具有讽刺意味的是,这种做法有时是有效的,有时则不起作用。我猜有一种可以接受的方法来做一些事情,比如从商店中删除证书。但我无法弄明白。非常感谢提前!
答案 0 :(得分:0)
我们最近遇到了同样的问题,并就此案开了一张支持票。根据MS,这在Windows Phone 8.1中是不可能的,对不起。它应该在Windows 10中受支持。