SSL证书也称为服务器证书,是遵守全球统一的严格身份认证的SSL协议的一牡啾锯辏种数字证书,由全球信任的证书颁发机构(CA)验证服务器身份后颁发。将SSL证书安装在樘论罪朋网站服务器上,可实现网站身份验证和数据加密传输双重功能。用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。安装SSL证书后,使用Https协议加密访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改钓鱼欺诈网站泛滥。 同时,网站部署全球信任的SSL证书后,浏览器内置安全机制,实时查验证书状态,通过浏览器向用户展示网站认证信息,让用户轻松识别网站真实身份,防止钓鱼网站仿冒。
工具/原料
本次部署使用的GDCA恒信(EV)SSL测试证书进行部署操作。
制作证书请求文件的工作环境,需要先安装好JDK(请使用1.6或以上版本),再使用JDK所在路径的bin目录下的keytool命令。
使用KEYTOOL 工具产生证书请求
1、产生密钥库文件首先申请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
2、示例中使用 testweb作为私钥别名(alias),生成的密钥库文件名为keystore.jks,该文件存放D盘下。注意:如果不指定目标路径,keystore.jks会存放在命令行的当前路径下(这里是keytool所在目录)。
3、产生证书请求文件参考: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
服务器证书的导入
1、SSL证书获取申请提交后通过颁发单位的审核后会颁发给你证书,根据颁发单位的不同,需要使用的根证书和CA证书也不相同。一般颁发单位在颁发证书的时候都会将根证书、CA证书、服务器证书一起发邮件给你,GDCA的证书也可以通过他们官网下载根证书和CA证书。
2、转换证书编码从官网上下载的证书需要先转换为Base64编码格式。以根证书为例:打开证书,详细信息-复制到文件,在证书导出向导里,将证书编码改成Base64编码格式,导出到指定目录里。
3、转换成Base64编码格式后,用文本编辑器打开,可以看到文件内容是以-----BEGIN CERTIFICATE-----开头,-----END CERTIFICATE-----结尾。以同样方式将CA证书也转换成Base64编码格式。
4、查看密钥库文件信息运行JDK所在路径bin目录下的keytool工具.参考:keytool -list -keystore keystore.jks -storepass yourpassword例:输入命令:keytool -list -keystore D:\keystore.jks -storepass 123456
5、示例私钥的别名(alias)为 testweb,在导入服务器证书时需要使用。导入证书时,一定要使用产生证书请求文件时生成的keystore.jks文件。该文件丢失或用新生成的keystore.jks文件都会导致无法正确导入您的服务器证书。
6、导入证书导入根证书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
7、提示是否信任该证书,填 : 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
8、导入服务器证书参考: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
9、导入服务器证书时,服务器证书的别名和私钥别名必须一致。请留意导入中级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 -ke烤恤鹇灭ystore truststore.jks -storepass yourpasssword-keystore指定生成的truststore文件,-storepass指定truststore密码例:输入命令:keytool -import -alias testweb -file D:\trustcert.cer -keystore D:\truststore.jks -storepass 123456
安装服务器证书(单向SSL)
1、配置服务器登陆Weblogic控制台,点击-环境-服务器;在服务器列表里选择要配置SSL证书的服务器。
2、在 “配置”- “一般信息”,可以配置服务器的http和https是否启用,以及对应的端口号。webloigc 默认的https端口号为7002,请在选项启用SSL并根据实际情况修改端口号:
3、配置认证模式选择“密钥库”,并设置认证方式;选择“定制标识和Java定制信任”;将您的密钥库文件keystore.jks上传到服务器上,并配置文件路径和密钥库文件密码;配置JRE默认信任库文件cacerts。cacerts默认密码为changeit。
4、配置服务器证书私钥别名在“SSL”下需要配置密钥库中的私钥别名信息。私钥别名可以使用keystool -list 命令查看。通常设置的私钥保护密码和keystore文件保护密码相同。输入私钥别名“testweb”,并输入私钥密码。点击高级,勾选使用“JSSE SSL”;
安装服务器证书(双向SSL)
1、配置服务器登陆Weblogic控制台,点击-环境-服务器;在服务器列表里选择要配置SSL证书的服务器;
2、在 “配置”- “一般信息”,可以配置服务器的http和https是否启用,以及对应的端口号。webloigc 默认的https端口号为7002,请在选项启用SSL并根据实际情况修改端口号:
3、配置认证模式选择“密钥库”,并设置认证方式;选择“定制标识和定制信任”;将您的密钥库文件keystore.jks、信任密钥库文件truststore.jks上传到服务器上,并配置文件路径和密钥库文件密码;
4、配置服务器证书私钥别名在“SSL”下需要配置密钥库中的私钥别名信息。私钥别名可以使用keystool -list 命令查看。通常设置的私钥保护密码和keystore文件保护密码相同。输入私钥别名“testweb”,并输入私钥密码。
5、点击高级在双向客户机证书行为选择“请求客户机证书并强制使用”,并勾选使用“JSSE SSL”。
https访问测试
1、完成所有配置后,重启weblogic服务,就可以立即通过您设定的SSL端口号,访问https://yourdomain:port测试SSL证书是否安装成功了。
备份和恢复
1、在您完成服务器证书的安装与配置后,请务必要备份好您的服务器证书,避免证书遗失给您造成不便:
2、备份服务器证书备份服务器证书密钥库文件keystore.jks文件即可完成服务器证书的备份操作。如果使用了truststore,请将truststore.jks文件一同备份好。