【问题标题】:Cannot setup SSL with Glassfish无法使用 Glassfish 设置 SSL
【发布时间】:2016-08-17 10:23:41
【问题描述】:

我正在尝试将 SSL 证书安装到 Glassfish 4.1.1 中。

我做了以下事情:

keytool -importkeystore -srckeystore /home/user/domain.com.jks -destkeystore /opt/glassfish4/glassfish/domains/domain1/config/keystore.jks

keytool -import -trustcacerts -keystore keystore.jks -alias root -file root.crt
keytool -import -trustcacerts -keystore keystore.jks -alias intermediate1 -file 1_cross_Intermediate.crt
keytool -import -trustcacerts -keystore keystore.jks -alias intermediate2 -file 2_issuer_Intermediate.crt
keytool -import -trustcacerts -keystore keystore.jks -alias domain_com -file 3_user_domain.com.crt

然后我在服务器配置中使用管理控制台将 http-listener-2 的 SSL 引用从“s1as”重命名为“domain_com”。

并通过管理控制台和“重新启动”按钮重新启动域。

在那之后,我无法通过https://domain.com:8181 访问我的应用程序。错误:

ERR_CONNECTION_RESET

甚至无法通过https://domain.com:4848 访问管理控制台

ERR_CONNECTION_CLOSED

在哪里可以查看发生了什么以及如何正确配置 SSL。

还有一点:keystore 的密码和 glassfish 的 master-password 都是默认密码(changeit)并且相互匹配。我已经验证过了。

你能提供一些线索来告诉你去哪里看吗?

提前谢谢你!

更新:在 glassfish-logs 中我遇到以下异常:

[2016-08-17T10:29:53.142+0000] [glassfish 4.1] [WARNING] [] [javax.enterprise.network.config] [tid: _ThreadID=43 _T$
  GRIZZLY0050: SSL support could not be configured!
java.io.IOException: A MultiException has 2 exceptions.  They are:
1. java.lang.Error: java.security.UnrecoverableKeyException: Cannot recover key
2. java.lang.IllegalStateException: Unable to perform operation: post construct on com.sun.enterprise.security.ssl.$

        at org.glassfish.grizzly.config.ssl.JSSE14SocketFactory.init(JSSE14SocketFactory.java:162)
        at org.glassfish.grizzly.config.SSLConfigurator.initializeSSLContext(SSLConfigurator.java:249)
        at org.glassfish.grizzly.config.SSLConfigurator.configureSSL(SSLConfigurator.java:131)
        at org.glassfish.grizzly.config.SSLConfigurator$InternalSSLContextConfigurator.createSSLContext(SSLConfigur$
        at org.glassfish.grizzly.ssl.SSLEngineConfigurator.createSSLEngine(SSLEngineConfigurator.java:209)
        at org.glassfish.grizzly.ssl.SSLEngineConfigurator.createSSLEngine(SSLEngineConfigurator.java:186)
        at org.glassfish.grizzly.ssl.SSLBaseFilter.handleRead(SSLBaseFilter.java:293)

[2016-08-17T10:29:53.143+0000] [glassfish 4.1] [WARNING] [] [org.glassfish.grizzly.filterchain.DefaultFilterChain] $
  GRIZZLY0013: Exception during FilterChain execution
java.lang.NullPointerException
        at org.glassfish.grizzly.ssl.SSLEngineConfigurator.createSSLEngine(SSLEngineConfigurator.java:214)
        at org.glassfish.grizzly.ssl.SSLEngineConfigurator.createSSLEngine(SSLEngineConfigurator.java:186)
        at org.glassfish.grizzly.ssl.SSLBaseFilter.handleRead(SSLBaseFilter.java:293)
        at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)

【问题讨论】:

    标签: java ssl https glassfish ssl-certificate


    【解决方案1】:

    您忘记在 cacerts.jks 中插入您的证书
    在这样的 cacerts 中包含根证书和中间证书
    keytool -import -trustcacerts -keystore cacerts.jks -alias root -file root.crt
    keytool -import -trustcacerts -keystore cacerts.jks -alias intermediate1 -file 1_cross_Intermediate.crt
    keytool -import -trustcacerts -keystore cacerts.jks -alias intermediate2 -file 2_issuer_Intermediate.crt

    不需要在 cacerts.jks 中插入域证书

    【讨论】:

    • 注意:glassfish 主密码、keystore 和域证书密码应该相同。
    【解决方案2】:

    可能仍然需要处理您的密钥库。您可以使用KSE 编辑密钥,更容易处理证书。

    • 您确定密钥库和证书条目都具有 密码“changeit”?

    • 此证书条目的证书链是否正确?

    【讨论】:

    • 感谢您的回复!通过使用letsencrypt证书解决了这个问题。是的,两个密码都是“changeit”,我没能解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2011-12-03
    相关资源
    最近更新 更多