我一直在使用 opensslpkcs12
命令为 Windows 8 打包我的证书/密钥,
openssl pkcs12 -export \
-in win8client-cert.pem \
-inkey win8client-key.pem \
-certfile ca-cert.pem \
-out win8client.p12
但是,我并不完全清楚它的作用。如果我向它提供为什么,-certfile
那么 certfile 也必须手动安装在主机(Windows 8 机器)上?当我获取.p12
并提取 cacert(使用 Windows 上的证书 MMC)时,我可以将其安装在主机上,一切正常。
为什么它不能直接从中获取 CA 证书.p12
(据我理解,这只是一种打包格式)。
答案1
证书 MMC 在导入 PKCS#12 文件时,将所有证书放入个人/证书文件夹,甚至是 CA 证书。问题是 CA 证书必须位于受信任的根证书颁发机构/证书文件夹实际上用作证书链验证中的根。因此,如果您在导入 PKCS#12 容器后手动将证书移动到该文件夹,则一切都应按预期工作。