0

我在 GoDaddy 购买了 SSL 证书。我需要使用它通过安全连接来启动我的 Spark Java 自包含服务器。根据http://sparkjava.com/documentation#examples-and-faq中的文档,我需要执行以下操作:

String keyStoreLocation = "deploy/keystore.jks";
String keyStorePassword = "password";
secure(keyStoreLocation, keyStorePassword, null, null);

但是当我从 GoDaddy 下载证书时,我得到了文件:

11111.pem
11111.crt
bundle-g2-g1.crt

我需要做什么才能将这些文件转换为兼容的第一个参数 secure(keyStoreLocation, keyStorePassword, null, null);

4

1 回答 1

2

如果 1111.pem 文件是您的私钥(检查第一行是 5 个连字符、BEGIN、可选的单词,如 RSA EC 或 ENCRYPTED、PRIVATE KEY 和 5 个连字符)然后开始

openssl pkcs12 -export -in 1111.crt -inkey 1111.pem -certfile bundle-g2-g1.crt -out my.p12

自 2018 年以来,几乎所有 Java 程序实际上都可以使用 PKCS12 而不是 JKS 作为密钥库,但如果这段代码确实需要 JKS,那么就这样做

keytool -importkeystore -srckeystore my.p12 -destkeystore my.jks -deststoretype jks 
# if using very old Java (below 8u40 or so) add -srcstoretype pkcs12

主要是欺骗(但有所更新)
组合 .pem 证书到 truststore/keystore.jsk
将证书从 pem 转换为 jks
如何从 openssl 生成的密钥生成 X.509 证书,更多链接在那里
https://serverfault.com/questions /483465/import-of-pem-certificate-chain-and-key-to-java-keystore

于 2021-10-06T06:32:25.157 回答