在Glassfish中导入ssl证书

use*_*419 10 glassfish ssl-certificate

我有以下问题:

我从comodo(90天)获得了我的glassfish web应用程序的免费证书,然后我通过以下http://javadude.wordpress.com/2010/04/06/getting-started-with-将证书导入glassfish 3.1 与GlassFish v3的和SSL /

我还修改了domain.xml文件,将别名s1as替换为我的证书别名,将文件keystore.jks替换为server.keystore ....但是当我尝试使用https协议访问我的Web应用程序时,我得到了以下日志错误:

[#| 2012-10-12T14:41:18.828 + 0200 |警告| glassfish3.1.2 | com.sun.grizzly.config.Gr izzlyServiceListener | _ThreadID = 25; _TreadName = http-thread-pool-443(1); | GRIZZLY00 07:无法配置SSL支持!java.io.IOException:由于没有可用的证书或密钥对应于启用的SSL密码套件,SSL配置无效.

请帮帮我..我知道在这里我可以找到我的问题的解决方案......

Dan*_*rgo 25

不幸的是,我没有足够的声誉发布glassfish控制台管理员的图像,但让我试着帮助一个人使用文本.

注1:配置在Ubuntu 12.04服务器和glassfish 3.1.2上完成

Comodo为您提供4个文件

  • your_domain.key(你的私钥)
  • your_domain.crt(你的公钥)
  • PositiveSSLCA2.crt(CA公钥)
  • AddTrustExternalCARoot.crt(CA公钥)

将每个公钥导入文件cacerts.jks.为此,将公钥文件合并到一个文件中:

注2:文件的顺序很重要.

cat your_domain.crt PositiveSSLCA2.crt AddTrustExternalCARoot.crt  > all.crt
Run Code Online (Sandbox Code Playgroud)

现在使用keytool导入它们:

keytool -import -trustcacerts -alias tomcat -file all.crt -keystore cacerts.jks
Run Code Online (Sandbox Code Playgroud)

使用您的私钥创建一个p12文件:

注意3:您可以为每个文件使用相同的密码,以简化操作.

openssl pkcs12 -export -in all.crt -inkey your_domain.key -out your_domain.p12 - name your_alias -CAfile PositiveSSLCA2.crt -caname immed
Run Code Online (Sandbox Code Playgroud)

注意4:不要忘记别名(your_alias),稍后您需要在glassfish管理控制台中引用它.

现在使用keytool导入私钥:

keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore keystore.jks -srckeystore your_domain.p12 -srcstoretype PKCS12 -srcstorepass changeit -alias your_alias
Run Code Online (Sandbox Code Playgroud)

现在您的keystore.jks(使用您的私钥)和您的cacerts.jks(使用您的公钥)已经可以使用了.如果你想检查一切是否正常运行:

keytool -list -keystore keystore.jks
keytool -list -keystore cacerts.jks
Run Code Online (Sandbox Code Playgroud)

转到glassfish管理控制台并找到会话:

  • 配置 - > server-config-> HTTP服务 - > Http Listeners-> http-listener-2

转到SSL选项卡,将Certificate NickName更改为your_domain.

重启Glassfish服务器.

  • 什么是"-imame immed"的"immed"部分 (3认同)
  • 我在哪里放置`keystore.jks文件`? (2认同)
  • 当我`cat`我的证书时,它没有在第一个证书后添加新行。我不得不手动编辑它。每个证书都以`-----END CERTIFICATE-----`结尾,然后是换行符,然后是下一个`-----BEGIN CERTIFICATE-----`。否则它不会被识别为有效证书。 (2认同)