本文介绍如何在GlassFish服务器配置SSL证书,具体包括下载和上传证书文件,在GlassFish上配置证书文件、证书链和证书密钥等参数,以及安装证书后结果的验证。成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问GlassFish服务器,确保数据传输的安全性。
本文以Linux操作系统、glassfish-4.1.2-web中默认domain1容器为例介绍。不同的操作系统或GlassFish服务器,部署操作可能有所差异,如有问题,请联系产品技术专家进行咨询,详情请参见专家一对一服务。
前提条件
步骤一:下载SSL证书
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在SSL证书管理页面,定位到目标证书,在操作列,单击更多,然后选择下载页签。
在服务器类型为其他的操作列,单击下载。
解压缩已下载的SSL证书压缩包。
根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。
CSR生成方式
证书压缩包包含的文件
系统生成或选择已有的CSR
证书文件(PEM格式):默认以证书ID_证书绑定域名命名。PEM格式的证书文件是采用Base64编码的文本文件。
私钥文件(KEY格式):默认以证书绑定域名命名。
手动填写
如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致。
如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式。转换证书格式的具体操作,请参见证书格式转换。
步骤二:在GlassFish服务器安装证书
在GlassFish安装目录下创建一个用于存放证书的目录。
进入glassfish安装目录。
本示例glassfish4安装在home路径下,请您根据实际情况调整。
cd /home/glassfish4
创建证书目录,命名为cert。
mkdir cert
将证书文件和私钥文件上传到cert目录。
说明您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里云云服务器 ECS,上传文件具体操作,请参见上传或下载文件(Windows)或上传文件到Linux云服务器。
在cert目录下,执行openssl命令,将下载的PEM格式的证书转换为PKCS12格式,并修改密码为changeit,命名为mycert.p12,别名为s1as。
说明domain_name.pem与domain_name.key需分别替换为实际的证书文件和证书私钥文件。
changeit是GlassFish服务器中自带的证书的默认密码,如果您修改过,请使用实际的证书密码。
openssl pkcs12 -export -in domain_name.pem -inkey domain_name.key -out mycert.p12 -passout pass:changeit -name s1as
在cert目录下,执行keytool命令,将mycert.p12转换为JKS格式,命名为keystore.jks,别名为s1as。
keytool -importkeystore -destkeystore keystore.jks -srckeystore mycert.p12 -srcstoretype PKCS12 -alias s1as
执行keytool命令后,会提示设置keystore.jks密码和输入原mycert.p12密码,均为changeit。
在cert目录下,执行keytool命令,将下载的PEM格式的证书转换为JKS格式,命名为cacerts.jks,别名为s1as。
domain_name.pem替换为实际的证书文件。
keytool -importcert -trustcacerts -destkeystore cacerts.jks -file domain_name.pem -alias s1as
执行keytool命令后,会提示设置cacerts.jks密码,您需设置为changeit。
在cert目录下,执行以下命令,替换/home/glassfish4/glassfish/domains/domain1/config目录下的cacerts.jks和keystore.jks文件。
替换cacerts.jks
cp ./cacerts.jks /home/glassfish4/glassfish/domains/domain1/config
替换keystore.jks
cp ./keystore.jks /home/glassfish4/glassfish/domains/domain1/config
编辑/home/glassfish4/glassfish/domains/domain1/config/domain.xml配置文件,修改端口号。
定位到如下图所示network-listeners位置,并按照下述示例修改端口号,修改时请注意80、443的占用情况。
<network-listeners> <network-listener protocol="http-listener-1" port="80" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp"></network-listener> <network-listener protocol="http-listener-2" port="443" name="http-listener-2" thread-pool="http-thread-pool" transport="tcp"></network-listener> <network-listener protocol="admin-listener" port="4848" name="admin-listener" thread-pool="admin-thread-pool" transport="tcp"></network-listener> </network-listeners>
进入/home/glassfish4/glassfish/bin目录,执行如下命令,重启服务器。
./asadmin restart-domain domain1
步骤三:验证SSL证书是否安装成功
证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。
如果网页地址栏出现小锁标志,表示证书已经安装成功。