Weblogic服务器部署SSL证书
SSL证书也称为服务器证书,是遵守全球统一的严格身份认证的SSL协议的一种数字证书,由全球信任的证书颁发机构(CA)验证服务器身份后颁发。将SSL证书安装在网站服务器上,可实现网站身份验证和数据加密传输双重功能。用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。安装SSL证书后,使用Https协议加密访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改钓鱼欺诈网站泛滥。 同时,网站部署全球信任的SSL证书后,浏览器内置安全机制,实时查验证书状态,通过浏览器向用户展示网站认证信息,让用户轻松识别网站真实身份,防止钓鱼网站仿冒。
使用KEYTOOL 工具产生证书请求
- 01
产生密钥库文件 首先申请SSL证书需要向颁发单位提供证书请求文件,这里也介绍一下。 打开windows命令行窗口,进入JDK的bin目录运行 keytool命令 参考: keytool -genkey -alias yourserver -keyalg RSA -keysize 2048 -keystore yourkeystore.jks -storepass yourpassword -storepass指定keystore密码 系统会提示您输入你的信息。填写信息说明: 1您的姓名与姓氏是什么? 填:域名(公网访问的域名地址如 testweb.gdca.com.cn;如果有多个域名,只填主域名) 2您的组织单位名称是什么? 填:组织单位名或部门名(如技术支持部或Technical Support) 3您的组织名称是什么? 填:组织名或公司名(广东数字证书认证中心有限公司或Guangdong Certification Authority Co.,Ltd.) 4您所在的城市或者区域名称是什么? 填:城市或区域名(如佛山市或Foshan) 5您所在的州或省份名称是什么? 填:州名或省份名(如广东省或Guangdong) 6该单位的两字母国家代码是什么? 填:两位国家代码(如 中国为CN,美国为 US) 除第1、6项外,2-5的信息填写请统一使用中文或者英文填写,并确保内容和您提交到GDCA的内容一致,以保证SSL证书的签发。 例: 输入命令:keytool -genkey -alias testweb -keyalg RSA -keysize 2048 -keystore D:\keystore.jks -storepass 123456
- 02
示例中使用 testweb作为私钥别名(alias),生成的密钥库文件名为keystore.jks,该文件存放D盘下。注意:如果不指定目标路径,keystore.jks会存放在命令行的当前路径下(这里是keytool所在目录)。
- 03
产生证书请求文件 参考: keytool -certreq -alias yourserver -keystore keystore.jks -file yourserver.csr –keypass yourpassword -storepass yourpassword 例: 输入命令:keytool -certreq -alias testweb -keystore D:\keystore.jks -file D:\testweb.csr -keypass 123456 -storepass 123456 产生请求文件testweb.csr
服务器证书的导入
- 01
SSL证书获取 申请提交后通过颁发单位的审核后会颁发给你证书,根据颁发单位的不同,需要使用的根证书和CA证书也不相同。一般颁发单位在颁发证书的时候都会将根证书、CA证书、服务器证书一起发邮件给你,GDCA的证书也可以通过他们官网下载根证书和CA证书。
- 02
转换证书编码 从官网上下载的证书需要先转换为Base64编码格式。以根证书为例: 打开证书,详细信息-复制到文件,在证书导出向导里,将证书编码改成Base64编码格式,导出到指定目录里。
- 03
转换成Base64编码格式后,用文本编辑器打开,可以看到文件内容是以-----BEGIN CERTIFICATE-----开头,-----END CERTIFICATE-----结尾。以同样方式将CA证书也转换成Base64编码格式。
- 04
查看密钥库文件信息 运行JDK所在路径bin目录下的keytool工具. 参考: keytool -list -keystore keystore.jks -storepass yourpassword 例: 输入命令:keytool -list -keystore D:\keystore.jks -storepass 123456
- 05
示例私钥的别名(alias)为 testweb,在导入服务器证书时需要使用。导入证书时,一定要使用产生证书请求文件时生成的keystore.jks文件。该文件丢失或用新生成的keystore.jks文件都会导致无法正确导入您的服务器证书。
- 06
导入证书 导入根证书 keytool -import -alias root -keystore keystore.jks -trustcacerts -storepass yourpassword -file root.cer 导入CA证书 keytool -import -alias secondary -keystore keystore.jks -trustcacerts -storepass yourpassword -file secondary.cer 例: 导入根证书 输入命令:keytool -import -alias GDCA_TrustAUTH_R5_ROOT -keystore D:\keystore.jks -trustcacerts -storepass 123456 -file D:\GDCA_TrustAUTH_R5_ROOT.cer
- 07
提示是否信任该证书,填 : Y; 然后输入命令:keytool -import -alias GDCA_TrustAUTH_R4_Extended_Validation_SSL_CA -keystore D:\keystore.jks -trustcacerts -storepass 123456 -file D:\GDCA_TrustAUTH_R4_Extended_Validation_SSL_CA.cer
- 08
导入服务器证书 参考: keytool -import -alias yourserver -keystore keystore.jks -trustcacerts -storepass password -file server.cer 例: 输入命令:keytool -import -alias testweb -keystore D:\keystore.jks -trustcacerts -storepass 123456 -file D:\testweb.gdca.com.cn.cer
- 09
导入服务器证书时,服务器证书的别名和私钥别名必须一致。请留意导入中级CA证书和导入服务器证书时的提示信息,如果您在导入服务器证书时使用的别名与私钥别名不一致,将提示“认证已添加至keystore中”而不是应有的“认证回复已安装在keystore中”。 另外导入时如果出现报错“invalid DER-encoded certificate data”,请参考步骤“1.3转换证书编码”将服务器证书文件保存成Base64编码,然后重新执行导入操作。
- 10
证书导入完成,运行keystool命令,再次查看keystore文件内容 keytool -list -keystore D:\keystore.jks -storepass 123456
- 11
产生truststore文件(可选): 配置双向SSL时需要使用truststore.jks,单向SSL时可以不使用。导出凭证文件 参考: keytool -export -alias testserver -keystore keystore.jks -rfc -file trustcert.cer -storepass yourpasssword 例: 输入命令:keytool -export -alias testweb -keystore D:\keystore.jks -rfc -file D:\trustcert.cer -storepass 123456
- 12
将凭证文件 导入到truststore文件 参考: keytool -import -alias testserver -file trustcert.cer -keystore truststore.jks -storepass yourpasssword -keystore指定生成的truststore文件,-storepass指定truststore密码 例: 输入命令:keytool -import -alias testweb -file D:\trustcert.cer -keystore D:\truststore.jks -storepass 123456
安装服务器证书(单向SSL)
- 01
配置服务器 登陆Weblogic控制台,点击-环境-服务器; 在服务器列表里选择要配置SSL证书的服务器。
- 02
在 “配置”- “一般信息”,可以配置服务器的http和https是否启用,以及对应的端口号。webloigc 默认的https端口号为7002,请在选项启用SSL并根据实际情况修改端口号:
- 03
配置认证模式 选择“密钥库”,并设置认证方式; 选择“定制标识和Java定制信任”; 将您的密钥库文件keystore.jks上传到服务器上,并配置文件路径和密钥库文件密码; 配置JRE默认信任库文件cacerts。cacerts默认密码为changeit。
- 04
配置服务器证书私钥别名 在“SSL”下需要配置密钥库中的私钥别名信息。私钥别名可以使用keystool -list 命令查看。通常设置的私钥保护密码和keystore文件保护密码相同。 输入私钥别名“testweb”,并输入私钥密码。 点击高级,勾选使用“JSSE SSL”;
安装服务器证书(双向SSL)
- 01
配置服务器 登陆Weblogic控制台,点击-环境-服务器; 在服务器列表里选择要配置SSL证书的服务器;
- 02
在 “配置”- “一般信息”,可以配置服务器的http和https是否启用,以及对应的端口号。webloigc 默认的https端口号为7002,请在选项启用SSL并根据实际情况修改端口号:
- 03
配置认证模式 选择“密钥库”,并设置认证方式; 选择“定制标识和定制信任”; 将您的密钥库文件keystore.jks、信任密钥库文件truststore.jks上传到服务器上,并配置文件路径和密钥库文件密码;
- 04
配置服务器证书私钥别名 在“SSL”下需要配置密钥库中的私钥别名信息。私钥别名可以使用keystool -list 命令查看。通常设置的私钥保护密码和keystore文件保护密码相同。 输入私钥别名“testweb”,并输入私钥密码。
- 05
点击高级在双向客户机证书行为选择“请求客户机证书并强制使用”,并勾选使用“JSSE SSL”。
https访问测试
- 01
完成所有配置后,重启weblogic服务,就可以立即通过您设定的SSL端口号,访问https://yourdomain:port测试SSL证书是否安装成功了。
备份和恢复
- 01
在您完成服务器证书的安装与配置后,请务必要备份好您的服务器证书,避免证书遗失给您造成不便:
- 02
备份服务器证书 备份服务器证书密钥库文件keystore.jks文件即可完成服务器证书的备份操作。如果使用了truststore,请将truststore.jks文件一同备份好。