我知道可以按照以下方式使用 OpenSSL 将 PEM(x509)证书转换为纯文本:
openssl x509 -in some.pem -text
但是我找不到 openssl pkcs12 命令的 -text 选项。到目前为止,我发现最接近的选项是 -info 选项,但它的输出信息量远不如 x509 -text 选项。
PKCS#12 证书文件是否存在某些限制,不允许获取纯文本信息?
我知道可以按照以下方式使用 OpenSSL 将 PEM(x509)证书转换为纯文本:
openssl x509 -in some.pem -text
但是我找不到 openssl pkcs12 命令的 -text 选项。到目前为止,我发现最接近的选项是 -info 选项,但它的输出信息量远不如 x509 -text 选项。
PKCS#12 证书文件是否存在某些限制,不允许获取纯文本信息?
不,这是软件设计的问题。
-export
下面的选项openssl pkcs12
暗示 OpenSSL 将 PKCS#12 视为外来格式 - 对这种格式的支持并未集成到库中,而是局限于其自己的角落,需要手动导入/导出操作,其在 OpenSSL 中的唯一用途是充当 OpenSSL 和“其他系统”之间传输的加密档案。(例如,PKCS#12 档案可以包含多组证书和密钥,这并不符合传统的 OpenSSL 模型,即仅通过文件名标识的单个密钥进行加载 -直到 3.0 版或类似的版本,它才有“密钥存储”的概念。)
因此,唯一的工作
openssl pkcs12
就是将 PKCS#12 文件的内容提取为 OpenSSL“本机”格式(基本上相当于unzip
.zip 文件),然后您可以加载结果并获取有关这些内容的信息:另一方面,Java 已经将 PKCS#12 视为其本机“密钥库”格式,因此您可以使用它
keytool
直接获取有关 .p12 文件内的证书的信息: