关于P12文件
想从cer文件得到P12文件:用makecert -pe生成cer文件,再到证书存储区找到新生成的证书,即可Export(X509ContentType.Pfx)得到希望的P12
(如果不带-pe,则无法导出P12)
得到的P12文件,大约1.7K
这个P12文件使用正常.
现在不想与系统证书区打交道,希望 直接从cer得到P12:
X509Certificate2 x509 = new X509Certificate2("cer文件", "",
X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);
(此时x509.HasPrivateKey就是false 非得安装到系统去逛一圈儿吗)
byte[] bytes = x509.Export(X509ContentType.Pfx);
File.WriteAllBytes("E:\\MyX.P12", bytes);
得到的P12文件,不到1K
用不了P12的私钥:
X509Certificate2 x509 = new X509Certificate2("MyX.P12", "", X509KeyStorageFlags.Exportable);
x509.PrivateKey是空的
如何才能代码生成可用的P12呢?