【发布时间】:2016-09-19 02:42:24
【问题描述】:
我有大量单个证书存储为扩展名为 .p12 的文件。我想将所有这些证书合并到一个 .pfx 文件中,以减少在客户端计算机上导入所有这些证书的工作量。 这是我尝试过的。它会创建文件,但是当我导入 .pfx 文件时会出现问题。 Windows 证书导入向导仅导入第一个证书并忽略之后的所有内容。我认为是因为我尝试将它们组合在一起的方式导致文件格式有问题。我不确定这样做的正确方法。有任何想法吗?
private void btnCombineCerts_Click(object sender, EventArgs e)
{
String dateString = DateTime.Now.ToString("yyyyMMdd");
String timeString = DateTime.Now.ToString("hhmmssff");
String path = Directory.GetCurrentDirectory() + @"\certs\CombinedCerts\";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
List<X509Certificate2> certs = new List<X509Certificate2>();
foreach(var certFile in fDialog.FileNames)
{
X509Certificate2 cert = new X509Certificate2(certFile);
certs.Add(cert);
}
foreach(X509Certificate2 cert in certs)
{
byte[] certStream = cert.Export(X509ContentType.Pfx);
using (var stream = new FileStream(path + dateString + "CombinedCerts" + timeString + ".pfx", FileMode.Append))
{
stream.Write(certStream, 0, certStream.Length);
}
}
}
【问题讨论】:
标签: c# certificate x509certificate2