3

如何在 glassfish 3.1.2.2 上安装 ssl?

我已经有根证书和中间证书。这样证书就准备好了。

问题是如何安装呢?我已经遵循http://javadude.wordpress.com/2010/04/06/getting-started-with-glassfish-v3-and-ssl/http://eugenedvorkin.com/installing-thawte-certificate-的指南on-glassfish-3-11-server-for-https-traffic/

但仍然失败,这就是我试图做的。

  1. keytool -genkeypair -keyalg RSA -keystore keystore.jks -keypass changeit -storepass changeit -alias s1as

  2. keytool -certreq -alias s1as -file s1as.csr -keystore keystore.jks -storepass changeit

  3. keytool -import -v -trustcacerts -alias s1as -file root.crt -keystore cacerts.jks -storepass changeit

  4. keytool -import -v -trustcacerts -alias Intermediate -file intermediate.crt -keystore cacerts.jks -storepass changeit

4这一步之后,它将创建keystore.jkscacerts.jks. 之后我将这两个文件复制到glassfish-3.1.2.2\glassfish\domains\domain1\config

打开管理控制台并设置为 http 侦听器 2,

  • 证书昵称:keystore
  • 密钥库:keystore.jks
  • 信任算法:sha1
  • 最大证书长度:5
  • 信任存储:cacerts.jks

但是当我访问 https:\ localhost:8181

>WARNING: GRIZZLY0007: SSL support could not be configured!
java.io.IOException: sha1 TrustManagerFactory not available
    at com.sun.grizzly.util.net.jsse.JSSE14SocketFactory.init(JSSE14SocketFactory.java:188)
    at com.sun.grizzly.config.SSLConfigHolder.initializeSSL(SSLConfigHolder.java:363)
    at com.sun.grizzly.config.SSLConfigHolder.configureSSL(SSLConfigHolder.java:241)
    at com.sun.grizzly.config.GrizzlyEmbeddedHttps$LazySSLInitializationFilter.execute(GrizzlyEmbeddedHttps.java:202)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:722)

>SEVERE: ProtocolChain exception
java.lang.NullPointerException
    at com.sun.grizzly.filter.SSLReadFilter.newSSLEngine(SSLReadFilter.java:352)
    at com.sun.grizzly.filter.SSLReadFilter.obtainSSLEngine(SSLReadFilter.java:399)
    at com.sun.grizzly.filter.SSLReadFilter.execute(SSLReadFilter.java:159)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:722)

>SEVERE: ProtocolChain exception
java.lang.NullPointerException
    at com.sun.grizzly.filter.SSLReadFilter.newSSLEngine(SSLReadFilter.java:352)
    at com.sun.grizzly.filter.SSLReadFilter.obtainSSLEngine(SSLReadFilter.java:399)
    at com.sun.grizzly.filter.SSLReadFilter.execute(SSLReadFilter.java:159)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:722)

有人帮我解决这个问题吗?谢谢b4

4

1 回答 1

0

此配置对我有用:

(在 http-listener-2 的 SSL 选项卡上)

  • SSL3 - [启用]
  • TLS - [启用]
  • 客户端身份验证 - [已启用]
  • 证书昵称:s1as
  • 密钥库:[空]
  • 信任算法:[空]
  • 最大证书长度:5
  • 信任存储:[空]

  • 密码套件:[全部选择]

希望能帮助到你。

于 2013-07-11T09:52:45.257 回答