【问题标题】:Is keytool still necessary to create a PKCS12 keystore from a PKCS12 keystore created by OpenSSL from Let's Encrypt pem files?keytool 是否仍然需要从 Let's Encrypt pem 文件中由 OpenSSL 创建的 PKCS12 密钥库创建 PKCS12 密钥库?
【发布时间】:2021-08-03 03:51:24
【问题描述】:

我使用 Java 11 (AdoptOpenJDK),keytool uses PKCS12 by default since Java 9,我需要 Jetty 11 的 PKCS12 密钥库。Let's Encrypt 给了我两个 pem 文件。因此,我使用 OpenSSL 将这 2 个 pem 文件转换为 PKCS12 密钥库,并按照a tutorial 中的建议使用 keytool:

openssl pkcs12 -export -inkey /etc/letsencrypt/live/$domainName/privkey.pem -in /etc/letsencrypt/live/$domainName/fullchain.pem -out /etc/letsencrypt/live/$domainName/jetty.pkcs12 -passout "pass:$srcKeystorePassword"
keytool -importkeystore -noprompt -srckeystore /etc/letsencrypt/live/$domainName/jetty.pkcs12 -srcstoretype PKCS12 -srcstorepass $srcKeystorePassword -destkeystore /etc/letsencrypt/live/$domainName/keystore -deststorepass $destKeystorePassword

第二行不是没用吗(除了使用另一个密码)?我现在无法自己检查它,因为我昨天超过了 Let's Encrypt 的每周限制,并且我没有保留创建的 pem 文件。我写了a script to ease self-hosting,我想从中删除任何不必要的步骤。

我可以简单地复制 OpenSSL 创建的 PKCS12 密钥库吗?有什么我遗漏的微妙之处吗?

【问题讨论】:

    标签: java ssl openssl lets-encrypt keytool


    【解决方案1】:

    keytool 对于仅支持 JKS 的应用程序服务器或软件是必需的,但在我的情况下不再需要,因为 Jetty 11 支持 PKCS12。

    请注意,keytool 从 Java 9 开始使用 PKCS12 by default(即当您不强制存储类型时),但已经可以将此存储类型用作 -storetype pkcs12 since Java 6 的选项(甚至在早期版本中)。

    【讨论】:

    猜你喜欢
    • 2012-12-31
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2018-10-24
    • 2021-08-18
    • 2015-09-22
    相关资源
    最近更新 更多