【问题标题】:Glassfish Admin Console stopped after change keystore.jksGlassfish 管理控制台在更改 keystore.jks 后停止
【发布时间】:2016-09-13 20:31:41
【问题描述】:

我使用 GF 3.1.2.2,现在我需要为我的 webapp 配置 Lets Encrypt SSL 证书。在我使用包含 Lets Encrypt 证书的新密钥更改默认 keystore.jks 后,我的 webapp 运行良好,但管理控制台没有。

server.log 文件出现此错误是因为它需要默认的 keytore.jks 文件:

[#|2016-05-17T11:31:15.344-0400|SEVERE|glassfish3.1.2|org.glassfish.admingui|_ThreadID=72;_ThreadName=Thread-2;|javax.net.ssl.SSLHandshakeException: sun .security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径; javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径; 休息请求:端点=https://localhost:4848/management/domain/anonymous-user-enabled 属性={} 方法=GET|#]

【问题讨论】:

    标签: ssl glassfish


    【解决方案1】:

    我迟到了 3 年,但谁知道也许有人会读它 :) 您的问题的原因是管理员侦听器使用的证书不在您的新密钥库中。

    管理员侦听器(端口 4848)使用的默认证书具有别名“s1as”,并随 Glassfish 安装提供。 此证书位于 Default-Keystore keystore.jks 中。

    如果您用新的密钥库更改了密钥库,则 Glassfish 找不到他用于管理侦听器的证书。

    这很可能是您问题的解决方案:

    简单:

    • 停止玻璃鱼
    • 转到路径 ./glassfish/glassfish/domains/domain1/config 中的 domain.xml,然后在任何地方找到名为“cert-nickname”的属性,将值更改为 Let's Encrypt 证书的 Alias-Name。
    • 重启 Glassfish

    更难但更复杂:

    1. 找出您的管理员侦听器之前使用的证书。

      • 为此暂时改回旧的 keystore.jks。
      • 登录 管理控制台并在下面查找证书昵称 /Configurations/server-config/Http-Service/Http-Listeners/admin-listeners。 Glassfish 使用的默认证书名称为 s1as。
    2. a) 如果它是全新的 Glassfish 安装并且管理员侦听器仍使用默认证书 s1as,那么我建议您切换到新证书。

      • 只需将证书昵称更改为 Lets' Encrypt 证书的别名,然后单击保存按钮。
      • 停止玻璃鱼
      • 切换到您的新密钥库
      • 启动 Glassfish

      b) 如果您坚持保留旧证书,则必须通过 keytool 从“旧”密钥库中提取它并将其导入新密钥库。

      • 停止玻璃鱼
      • 使用以下命令提取旧证书:

         keytool -export -alias myOldCertificateNickname -keystore keystore.jks -file myOldCertificate.crt
        

        将 myOldCertificateNickname 替换为您在第 1 步中找到的证书昵称!

      • 将新导出的旧证书导入新密钥库

        keytool -import -alias myOldCertificateNickname -file myOldCertificate.crt -keystore myNewKeystore.jks
        
      • 启动 Glassfish

    现在这是最重要的! 要使所有这些工作,您还需要知道密钥库和证书的密码!还有 Glassfish 的 MasterPW! 因为 Glassfish 坚持所有 3 个密码必须相同(MasterPW、Keystore 密码、证书密码)

    这里有一个非常好的在 Glassfish 中安装证书的在线指南

    https://www.ssls.com/knowledgebase/how-to-install-an-ssl-certificate-on-glassfish/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多