我正在尝试在当前用户之前将一些证书安装到root存储。 在Windows 7上,这是完美的工作,但在Windows 8(特别是8.1)上,这会因未知错误而失败。我可以在其他商店安装证书,但不能在根商店安装。
这是我正在使用的代码
filePaths = new List<X509Certificate2>();
filePaths.Add(new X509Certificate2(eHealth_Ureg_Installer.Properties.Resources.belgiumrca));
filePaths.Add(new X509Certificate2(eHealth_Ureg_Installer.Properties.Resources.belgiumrca2));
filePaths.Add(new X509Certificate2(eHealth_Ureg_Installer.Properties.Resources.belgiumrca3));
filePaths.Add(new X509Certificate2(eHealth_Ureg_Installer.Properties.Resources.belgiumrca4));
filePaths.Add(new X509Certificate2(eHealth_Ureg_Installer.Properties.Resources.rootct2));
try
{
X509Store store = new X509Store(StoreName., StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
foreach (var cert in filePaths)
{
store.Add(cert);
}
store.Close();
}