Resin服务器如何部署SSL证书?安装流程介绍
Resin是Java应用服务器,是一个非常流行的支持servlets 和jsp的引擎,速度非常快,许多站点都是使用该web服务器构建的。本文主要来介绍一下Resin服务器安装SSL证书的流程。
步骤一、获取证书文件和密码文件
安装SSL证书前,需要获取证书文件和密码文件。如果是用系统生成CSR文件,那么可在本地解压已下载的SSL证书文件。下载的文件包含了“Apache”、“IIS”、“Nginx”、“Tomcat”4个文件夹和1个“domain.csr”文件。
从“证书ID_证书绑定的域名_Tomcat”文件夹内获得证书文件“证书ID_证书绑定的域名_server.jks”和密码文件“证书ID_证书绑定的域名_keystorePass.txt”,然后按照步骤二,继续操作。
如果是自己手动生成的CSR文件,那么可参考以下步骤获取证书文件和密码文件。
1、解压已下载的证书压缩包,获得“证书ID_证书绑定的域名_server.pem”文件。
“证书ID_证书绑定的域名_server.pem”文件包括两段证书代码“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,分别为服务器证书和中级CA证书。
2、使用OpenSSL工具,将pem格式证书转换为PFX格式证书,得到“server.pfx”文件。
“pem”文件和生成CSR时的私钥“server.key”放在OpenSSL工具安装目录的bin目录下。在OpenSSL工具安装目录的bin目录下,执行以下命令将pem格式证书转换为PFX格式证书,按“Enter”。
openssl pkcs12 -export -out server.pfx -inkey server.key -in 证书ID_证书绑定的域名_server.pem
系统会提示我们输入PFX证书密码,按“Enter”。此处输入的密码为自定义密码,请根据自己的需求进行设置并输入密码。
待系统返回结果,再次输入PFX证书密码并确认,按“Enter”。当系统没有回显任何错误信息,表示已在OpenSSL工具安装目录下成功生成“server.pfx”文件。
使用Keytool工具,将PFX格式证书文件转换成JKS格式,得到“server.jks”文件。将前文生成的“server.pfx”文件拷贝到“%JAVA_HOME%/jdk/bin”目录下。在“%JAVA_HOME%/jdk/bin”目录下,执行以下命令,按“Enter”。
keytool -importkeystore -srckeystore server.pfx -destkeystore server.jks -srcstoretype PKCS12 -deststoretype JKS
输入JKS证书密码,按“Enter”。这里可将JKS密码设置为与PFX证书密码相同的密码,否则可能会导致Resin启动失败。
再次输入JKS证书密码,按“Enter”。输入前文设置PFX证书密码,按“Enter”。如果输出结果显示没有条目失败,表示转换成功,已在OpenSSL工具安装目录下成功生成“server.jks”文件。
然后在“%JAVA_HOME%/jdk/bin”目录下新建一个“keystorePass.txt”文件,将JKS的密码保存在该文件中。将转换后的证书文件“server.jks”和新建的密码文件“keystorePass.txt”放在同一目录下。
步骤二、修改Resin配置文件
在Resin安装目录下的“Resin.properties”配置文件(由于Resin版本的不同,配置文件也可能为“resin.xml”文件)中,找到如下参数:
# specifies the –server in the config file
# home_server : app-0
# Set HTTP and HTTPS bind address
# http_address : *
# Set HTTP and HTTPS ports.
# Use overrides for individual server control, for example: app-0.http : 8081
app.http : 8080
# app.https : 8443
web.http : 8080
# web.https : 8443
将“app.https”和“web.https”前的注释符“#”去掉,并将“8443端”口修改为“443”。修改后,如下所示:
“app.https”、“web.https”:指定服务器要使用的端口号,建议配置为“443”。
# specifies the –server in the config file
# home_server : app-0
# Set HTTP and HTTPS bind address
# http_address : *
# Set HTTP and HTTPS ports.
# Use overrides for individual server control, for example: app-0.http : 8081
app.http : 8080
app.https : 443
web.http : 8080
web.https : 443
找到如下参数,并将“jsse_keystore_tye”、“jsse_keystore_file”和“jsse_keystore_password”三行前的注释符“#”去掉。
# JSSE certificate configuration
# Keys are typically stored in the resin configuration directory.
jsse_keystore_tye : jks
jsse_keystore_file : cert/server.jks
jsse_keystore_password : 证书密码
修改证书相关配置参数。
# JSSE certificate configuration
# Keys are typically stored in the resin configuration directory.
jsse_keystore_tye : jks
jsse_keystore_file : cert/server.jks
jsse_keystore_password : 证书密码
参数说明:
jsse_keystore_tye:设定Keystore文件的类型,一般设为jks。
jsse_keystore_file:“server.jks”文件存放路径,绝对路径和相对路径均可。例如,本文的cert/server.jks
jsse_keystore_password:“server.jks”的密码,填写“keystorePass.txt”文件内的密码。如果密码中包含“&”,请将其替换成“&”,以免配置不成功。
修改完成后保存配置文件,并重启Resin服务器。
可以自行验证一下SSL证书是否安装成功。在浏览器地址栏输入https开头的网址能正常访问网站说明SSL证书部署成功。