【问题标题】:jetty java.security.UnrecoverableKeyException: Cannot recover key码头 java.security.UnrecoverableKeyException:无法恢复密钥
【发布时间】:2023-04-09 00:46:02
【问题描述】:

我正在尝试用签名的证书替换自签名的码头证书。 我替换了 2 个文件 jetty.crt 和 jetty.key.Run 2 个命令:

openssl pkcs12 -inkey jetty.key -in jetty.crt -export -out jetty.pkcs12
keytool -importkeystore -srckeystore jetty.pkcs12 -srcstoretype PKCS12 -destkeystore keystore

现在码头没有启动。以下是日志:

2015-08-20 14:11:08.719:WARN:oejuc.AbstractLifeCycle:main: FAILED org.eclipse.jetty.server.Server@695a22ad: java.security.UnrecoverableKeyException: 无法恢复密钥 java.security.UnrecoverableKeyException:无法恢复密钥

请帮我解决它。

【问题讨论】:

    标签: jetty-9


    【解决方案1】:

    我们遇到了类似的问题。

    将新生成的pkcs12密钥库导入到目标密钥库后,我跑了

    keytool -keypasswd -keystore path_to_your_keystore_file -alias your_key_alias -storetype JKS

    设置我们之前使用的密码,码头开始运行。

    【讨论】:

    • 欢迎使用 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮 ( { } ) 或使用 Ctrl键盘上的 +K 可以很好地格式化和语法突出显示它!
    【解决方案2】:

    发生这种情况是因为文件中的密码不匹配: jetty-ssl.xml

    其中一种解决方案是生成密码,如下所述: http://wiki.eclipse.org/Jetty/Howto/Secure_Passwords

    并将此密码复制/粘贴到 jetty-ssl.xml 文件:

    <Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
      <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="etc/keystore"/></Set>
      <Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="OBF:paste_here_password"/></Set>
      <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="OBF:paste_here_password"/></Set>
      <Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.truststore" default="etc/keystore"/></Set>
      <Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="OBF:paste_here_password"/></Set>
    

    注意:
    1。在 jetty 9 上不要以纯文本形式粘贴密码,它必须是由 jetty 实用程序生成的加密密码。以下是如何获取密码的说明: http://wiki.eclipse.org/Jetty/Howto/Secure_Passwords
    2. 为避免混淆,您可以在文件
    jetty-ssl.xml for:
    中简单地在所有三个实例中使用相同的密码 jetty.keystore.password
    jetty.keymanager.password
    jetty.truststore.password

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      • 2013-01-14
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      相关资源
      最近更新 更多