gpt4 book ai didi

ssl - 合并 .pem 证书到 truststore/keystore.jsk

转载 作者:太空宇宙 更新时间:2023-11-03 14:22:54 26 4
gpt4 key购买 nike

我有一个组合的 .pem 文件,如下所示:

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

我认为这是 ssl、key 和 ca 的组合。我需要将其转换为 truststore.jks 和 keystore.jks 以用于我的服务。

openssl pkcs12 -export -out cert.pkcs12 -in cert
keytool -importcert -v -trustcacerts -alias eb-srv -file cert.pkcs12 -keystore truststore.jks

然而这抛出:

keytool error: java.lang.Exception: Input not an X.509 certificate
java.lang.Exception: Input not an X.509 certificate
at sun.security.tools.keytool.Main.addTrustedCert(Main.java:2861)
at sun.security.tools.keytool.Main.doCommands(Main.java:1050)
at sun.security.tools.keytool.Main.run(Main.java:366)
at sun.security.tools.keytool.Main.main(Main.java:359)

如果我尝试同样会发生:

openssl x509 -outform der -in cert -out cert.der
keytool -import -alias eb-srv -keystore cacerts -file cert.der

最佳答案

您拥有的第一个命令 (openssl) 将为您创建一个 PKCS12 格式的 keystore 。但是,对于信任库,您需要单独添加链中的每个证书。

当您拥有以下格式的证书链时,它通常位于此层次结构中。

-----BEGIN CERTIFICATE-----
User
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Sub CA/CA
-----END CERTIFICATE-----
...

您应该添加到信任库的是 CA 和子 CA 证书。所以你需要将这些证书分离到不同的文件中,并为每个证书运行这个命令。请注意,您不需要为用户证书执行此操作。

keytool -importcert -keystore truststore.jks -storepass [password] -file [certificate_file]

第一个命令将创建 PKCS12 格式的 keystore 。如果你需要其他格式如jks,你可以运行这个命令:

keytool -importkeystore -srckeystore [pkcs12_keystore] -srcstorepass [pkcs12_password] -srcstoretype pkcs12 -destkeystore [jks_keystore_file] -deststorepass [jks_keystore_password] -deststoretype jks

关于ssl - 合并 .pem 证书到 truststore/keystore.jsk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59179664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com