操作场景
- 本文档指导您如何在 GlassFish 服务器中安装 SSL 证书。
- 本文档以证书名称 ubn.cn通配符证书,域名test.ubn.cn为例。
- GlassFish 版本以 glassfish-4.0 为例。
- 当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。
- 安装 SSL 证书前,请您在 GlassFish 服务器上开启 “443” 端口,避免证书安装后无法启用 HTTPS。
- SSL 证书文件上传至服务器方法可参考 如何将本地文件拷贝到云服务器.
前提条件
已准备远程文件拷贝软件,例如 WinSCP(建议从官方网站获取最新版本)。 已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从官方网站获取最新版本)。 已在当前服务器中安装配置 GlassFish 服务。
- 注意 当前下载的证书文件,需要您通过手动转换格式的方式生成密钥库。 其操作方法如下: 访问 转换工具。 将 Nginx 文件夹中的证书文件和私钥文件上传至转换工具中,并填写密钥库密码,单击提交,转换为 jks 格式证书。 当前 GlassFish 服务安装在 /usr/share 目录下。
操作步骤
1.登录网站控制中心下载证书,可参考帮助文档中,证书下载。
2.解压缩ssl证书压缩包
- 解压后文件夹内容:
文件名称路径 | 作用 | 使用类型 |
---|---|---|
ubn_cn.key | 证书私钥 | iis/apache/nginx通用私钥 |
Apache/ubn_cn.crt | 证书文件 | apache使用 |
IIS/ubn_cn.pfx | 证书文件 | iis使用 |
Nginx/ubn_cn.crt | 证书文件 | nginx、防火墙、cdn、负载均衡、对象存储等通用 |
- 解压后文件示例:
3.使用 “WinSCP”(即本地与远程计算机间的复制文件工具)登录 GlassFish 服务器,可参考如何上传文件到云服务器
4.进入 /usr/share/glassfish4/glassfish/bin 目录下执行命令 ./asadmin 后,需更换 domain 的管理密码,请执行命令 change-master-password –savemasterpassword=true domain1。
- 注意 domain1 安装默认路径为 /usr/share/glassfish4/glassfish/domains,domain 名称请根据实际情况填写。 默认密码为 changeit,请输入回车后再输入新密码,新密码请填写申请证书时设置的私钥密码。
5.在 /usr/share 目录下执行命令 mkdir temp 创建 temp 文件夹
6.用 “WinSCP” (即本地与远程计算机间的复制文件工具)登录 GlassFish 服务器,将nging目录下ubn_cn.crt 证书文件、ubn_cn.key 私钥文件从本地目录拷贝至 temp 文件夹。
7.在 temp 目录执行以下命令生成 PKCS12 文件,并提示输入密码,请输入新设置的密码,即私钥密码。如下所示
openssl pkcs12 -export -in ubn_cn.crt -inkey ubn_cn.key -out mycert.p12 -name s1as
8.编辑 /etc/httpd/conf.d 目录下的 ssl.conf 配置文件。修改如下内容:
###### <font color="#000"> 8.在 temp 目录下执行命令 ls -l 确认 PKCS12 文件是否包含您申请的证书 </font>
##### <font color="#000"> 9.生成 keystore.jks 文件,请在 temp 目录执行以下命令,则生成的 keystore.jks 文件显示在此目录下。 </font>
如下所示:
```shell
keytool -importkeystore -destkeystore keystore.jks -srckeystore mycert.p12 -srcstoretype PKCS12 -alias s1as
10.生成 cacert.jks 文件,请在 temp 目录执行以下命令,则生成的 cacert.jks 文件显示在此目录下。若提示输入密码,输入新设置的密码,即私钥密码。
如下所示
keytool -importcert -trustcacerts -destkeystore cacerts.jks –file ubn_cn.crt -alias s1as
执行命令后若提示是否信任此证书,请按图示进行操作。
11.将步骤9和步骤10生成的文件替换 domain1/config 目录下的 keystore.jks 和 cacert.jks 文件。
12.将步骤9和步骤10生成的文件替换 domain1/config 目录下的 keystore.jks 和 cacert.jks 文件。
如下所示:
<network-listeners>
<network-listener port="80" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
<network-listener port="443" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
<network-listener port="4848" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
</network-listeners>
13.启动 GlassFish 服务器,即可使用 https://test.ubn.cn 进行访问。
如下图所示: