Ssl Glassfish管理控制台在更改keystore.jks后停止

Ssl Glassfish管理控制台在更改keystore.jks后停止,ssl,glassfish,Ssl,Glassfish,我使用GF 3.1.2.2,现在我需要为我的webapp配置一个Lets Encrypt SSL证书。在我用包含Lets Encrypt cert的新文件更改了默认的keystore.jks之后,我的webapp工作得很好,但是管理控制台没有 server.log文件出现此错误,因为它需要默认的keytore.jks文件: [#| 2016-05-17T11:31:15.344-0400 | SEVERE | glassfish 3.1.2 | org.glassfish.admingui |

我使用GF 3.1.2.2,现在我需要为我的webapp配置一个Lets Encrypt SSL证书。在我用包含Lets Encrypt cert的新文件更改了默认的keystore.jks之后,我的webapp工作得很好,但是管理控制台没有

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

[#| 2016-05-17T11:31:15.344-0400 | SEVERE | glassfish 3.1.2 | org.glassfish.admingui | u ThreadID=72;| ThreadName=Thread-2;| javax.net.SSLHandshakeException:sun.security.validator.validator.validator异常:PKIX路径生成失败:sun.security.provider.cerpath.sunPathBuilderException:找不到请求目标的有效认证路径; javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径; restRequest:端点= 属性={}
method=GET |#]

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

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

如果您用一个新的密钥库更改了密钥库,那么Glassfish将找不到用于管理侦听器的证书

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

简单一点:

  • 阻止玻璃鱼
  • 转到路径
    /glassfish/glassfish/domains/domain1/config
    中的domain.xml,找到名为“cert昵称”的属性时,将值更改为Let's Encrypt证书的别名
  • 重新启动玻璃鱼
更难但更复杂:

  • 找出您的管理员侦听器以前使用过的证书。

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

    • 只需将证书昵称更改为let'Encrypt证书的别名,然后单击保存按钮
    • 阻止玻璃鱼
    • 切换到您的新密钥库
    • 启动玻璃鱼
    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坚持所有3个密码必须相同(MasterPW、密钥库密码、证书密码)

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