C# 如何从我的应用程序&x27;中删除证书;谁的证书商店?

C# 如何从我的应用程序&x27;中删除证书;谁的证书商店?,c#,windows-store-apps,win-universal-app,certificate-store,C#,Windows Store Apps,Win Universal App,Certificate Store,我有一个Windows应用商店/手机通用应用程序,必须存储证书。我可以将证书加载到应用程序的CertificateStore中并使用它们。但当涉及到删除它们时,我遇到了麻烦 例如,以下代码非常适合在Windows应用商店环境中查找我的证书: async Task<Certificate> FindMyCert() { var query = new CertificateQuery(); query.FriendlyName = "mytestcert"; v

我有一个Windows应用商店/手机通用应用程序,必须存储证书。我可以将证书加载到应用程序的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];
}
只有一个问题。但是,如果您查看GetStoreName的文档,它会说证书存储的名称不能是“MY”

具有讽刺意味的是,这种方法有时有效,有时无效。我想有一种公认的方法可以做一些事情,比如从商店中删除证书。但我一直没能弄明白


非常感谢

我们最近也遇到了同样的问题,为此我们开了一张支持票。据微软称,这在WindowsPhone8.1中是不可能的,我很抱歉。但在Windows 10中应该支持它。

这里也有同样的问题!运气好吗?很遗憾,没有。恐怕没有解决办法。我还没有仔细查看新的通用平台,看看它是否在那里。目前,这是我的应用程序的一个“功能”。如果您发现了什么,请将其链接回此处!:-)我将在下周向微软询问此事。好的,很抱歉耽搁了。根据客户支持,这在Windows Phone 8.1中是不可能的。显然,它将在Win10中得到支持。啊!伟大的谢谢你也许应该回答这个问题,我会记下来的。
var s = CertificateStores.GetStoreByName("MY");
if (s != null)
    s.Delete(c);
Assert.IsNull(await FindMyCert());