通常我们保留 .Windows 服务器存储上的 P12(证书)文件。可以使用此链接存储证书。似乎只允许保存以下扩展名。
- .P12 - 个人信息交换
- .PFX - 个人信息交换
- .P7B - 加密消息语法标准
- .SST - Microsoft序列化证书存储
我使用OpenSSL并生成了两个.PEM文件(私钥和证书)来自我的.P12证书。是否可以将这些文件存储在Windows服务器存储中?
我们可以通过以下方式读取证书:
X509Store store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection cers = store.Certificates.Find(X509FindType.FindBySubjectName, "My Cert's Subject Name", false);
if (cers.Count>0)
{
cer = cers[0];
};
store.Close();
是否可以将这些文件存储在Windows服务器存储中?
不,您不能,因为当密钥加载到提供程序并且提供程序使用私钥处理所有操作时Microsoft使用 CSP(加密服务提供程序)概念。过去,CSP 使用自定义密钥格式,该格式与 PKCS#1 或 PKCS#8 密钥格式不向后兼容。
您的灵魂很简单:为特定应用程序使用一对.pem
和.key
文件。对于其他 Windows 应用,请使用 PFX 或从 PFX 导入的证书存储中的证书。