将 PEM ca bundle 转换为 Java 接受作为信任库的 PKCS12

问题描述 投票:0回答:0

给定一个包含多个根 CA 证书的 PEM 文件:

-----BEGIN CERTIFICATE-----
. . .
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
. . .
-----END CERTIFICATE-----

目前我正在将这个包转换为 JKS(java 本机格式)并用作默认信任库:

java -Djavax.net.ssl.trustStore=... -Djavax.net.ssl.trustStoreType=jks ...

想将其转换为 PKCS12,因为这是从 Java 9 开始的默认格式。

我尝试了什么:

# provide changeit as password when asked
$ openssl pkcs12 -export -in ./ca-bundle.pem -out ./ca-bundle.p12 -nokeys

ca-bundle.p12
已成功生成,但
keytool
在那里没有看到任何证书,当通过
-Djavax.net.ssl.trustStore
标志提供此文件时,java 进程也没有处理

$ keytool -list -rfc -keystore ./ca-bundle.p12 -storetype PKCS12 -storepass changeit
Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 0 entries
java openssl keytool pkcs#12 truststore
© www.soinside.com 2019 - 2024. All rights reserved.