删除SSL证书而不提示用户

时间:2016-06-16 07:35:20

标签: c# .net ssl ssl-certificate

我已编写了一些代码行,如果该证书已经存在,将在安装新证书之前从证书库中删除证书,如下所示:

X509Store store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadWrite | OpenFlags.IncludeArchived);
            X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName, "CertName", false);

            if (certs.Count > 0)
            {
                foreach (var cert in certs)
                {
                    store.Remove(cert);
                }
}

但是,每次在删除证书之前检测到证书时,它都会促使用户按是,以便删除证书。是否可以在不询问用户的情况下删除证书?

1 个答案:

答案 0 :(得分:2)

  

是否可以在不询问用户的情况下删除证书?

简短的回答是否定的。 Current User\Trusted Root CAs中的证书管理(添加/删除证书)需要明确的用户同意。此行为在crypt32.dll库中进行了硬编码。