如何在Oracle GlassFish v3.1上配置SSL证书

发布时间:2018/6/6 13:41:05 打印 字号:

GlassFish是Sun Microsystems为Java平台启动的一个开源应用服务器项目,现在由Oracle公司赞助。它有助于开发可扩展的便携式应用程序。

在实况部署Glassfish时总会出现的一个问题是设置自定义SSL。Glassfish为每个Glassfish部署提供了一个预定义的SSL证书,但这并不符合配置为使用自定义域名(如www.example.com)的开发应用程序的目的。Glassfish使用Keystore来存储SSL证书。

本文我们如何尽可能快地配置Glassfish的SSL证书。我们将使用Glassfish 3.1。

先决条件:您必须具有终端(通过命令行访问运行Glassfish的服务器以及SSL证书和密钥。您还可以使用自签名证书来尝试执行以下步骤。

1.备份当前设置
转到Glassfish安装
cd /usr/local/glassfish-3.1/glassfish/domains/domain1/config/

2.保存默认的SSL Keystore
cp keystore.jks keystore.jks.ori

3.从密钥库中删除默认的SSL证书
keytool -delete -alias s1as -keystore keystore.jks -storepass {admin password}
注意:所有glassfish安装的SSL证书的默认别名是s1as

准备你的证书
cat server.crt intermediate.CA.crt Root.CA.crt > combined_servercert_chain.crt

5.将您的证书转换为pkcs#12
openssl pkcs12 -export -in combined_servercert_chain.crt -inkey serverkey.pem -out keystore.pkcs12 -name s1as -passout pass:{admin password}

5.现在将转换后的证书导入密钥库
keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -srcstorepass -deststoretype jks -destkeystore keystore.jks -deststorepass {admin password}

完成上述步骤后,您应该看到以下消息:
成功导入别名s1as的条目。
导入命令完成:1个条目成功导入,0个条目失败或取消

6.重新启动Glassfish(下面的命令取决于您的Glassfish 安装)
service glassfish start


/usr/local/glassfish-3.1/glassfish/asadmin start-domain

现在您的自定义SSL已被部署。您可以使用以下命令验证证书:

openssl s_client -showcerts -connect glassfish-server-ip:443

现在,您已经拥有了一个运行自定义SSL证书的Glassfish服务器,并且您在通过浏览器访问时不应该收到任何安全警告。
希望这可以帮助