HTTPS如何使用自签证书和第三方CA证书配置服务器

关于HTTPS的加密过程以及原理我在上一篇《HTTPS借口加密和身份认证》中写了。


1.HTTPS自签CA证书及服务器配置

1.1单项认证--服务器配置


生成服务器证书

HTTPS如何使用自签证书和第三方CA证书配置服务器_第1张图片
自签证书

A、输入keystore密码:此处需要输入大于6个字符的字符串。

B、“您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP(就是你将来要在浏览器中输入的访问地址),否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。

C、你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息。

D、输入的密钥口令,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以,完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件。

接下来利用server.jks来签发证书

C:\Users\bwkt>keytool -export -aliasserver -file server.cer -keystore server.jks

根证书签发证书


配置Tomcat

找到tomcat/conf/sever.xml文件,并以文本形式打开。

找到端口为8443的标签,修改为:

disableUploadTimeout="true"  enableLookups="true"

keystoreFile="C:\Users\bwkt\server.jks"  keystorePass="123456"

maxSpareThreads="75"

maxThreads="200"  minSpareThreads="5" port="8443"

protocol="org.apache.coyote.http11.Http11NioProtocol"  scheme="https"

secure="true"  sslProtocol="TLS"

/>

注:keystoreFile:jks文件存放路径,keystorePass:生成证书时候的密码

测试:启动Tomcat服务器,在浏览器中输入https://localhost:8443/,浏览器提示下图即为成功。

HTTPS如何使用自签证书和第三方CA证书配置服务器_第2张图片
配置成功

1.2双向认证--服务器配置

生成客户端证书

HTTPS如何使用自签证书和第三方CA证书配置服务器_第3张图片

按照生成证书的方式,再生成一对这样的文件,我们命名为:client.jks,client.cer。

将client.cer添加到client_for_server.jks文件中

配置服务器:将端口为8443的标签,修改为:

disableUploadTimeout="true"  enableLookups="true"

keystoreFile="C:\Users\bwkt\server.jks"  keystorePass="123456"

truststoreFile="C:\Users\bwkt\client_for_server.jks"  truststorePass="123456"

maxSpareThreads="75"

maxThreads="200"  minSpareThreads="5" port="8443"

protocol="org.apache.coyote.http11.Http11NioProtocol"  scheme="https"

secure="true"  sslProtocol="TLS"

/>

注:truststoreFile:信任证书的文件路径,truststorePass:信任证书的秘密

测试:启动Tomcat服务器,在浏览器中输入https://localhost:8443/,浏览器提示下图即为成功。

HTTPS如何使用自签证书和第三方CA证书配置服务器_第4张图片
配置成功

1.3  导出P12证书

上篇文章我们知道服务器认证客户端需要在客户端导入P12证书,那么如何用根证书颁发P12证书呢。

windows电脑可以使用Portecle来转:

HTTPS如何使用自签证书和第三方CA证书配置服务器_第5张图片
windows转换p12证书

2.使用第三方服务器数字证书

第三方的CA证书,我们需要做的就是提交材料购买一个服务器根证书,具体流程如下:

1.首先需要给第三方机构提供服务器的IP地址(注意:服务器证书绑定的IP地址,证书只能用来验证服务器)。

2.这里我们要求第三方机构给我们提供一个.pfx格式的证书。

3.我们拿到pfx格式的证书将其转换为jks格式的证书(使用Portecle转换)如下图所示:

HTTPS如何使用自签证书和第三方CA证书配置服务器_第6张图片
证书转换

4.拿到jks格式的证书后,我们用到服务器配置Tomcat,找到tomcat/conf/sever.xml文件,并以文本形式打开,找到端口为8443的标签,修改为:

HTTPS如何使用自签证书和第三方CA证书配置服务器_第7张图片
配置服务器

注:keystoreFile:jks文件存放路径,keystorePass:生成证书时候的密码

5.完成以上操作是服务器证书配置后,启动Tomecat服务器,可到浏览器中输入https://115.28.233.131:8443,显示如下则表示成功(和12306的效果是一样的):

HTTPS如何使用自签证书和第三方CA证书配置服务器_第8张图片
验证成功

注意:如果要做支付网关证书、服务器客户端相互认证的话,还需要身份认证网关,这个网关需要购买设备,有G2000和G3000,G2000是1U设备,G3000是3U设备,价格可能在20到30万。购买网关之后第三方机构给我们提供证书,有服务器证书和移动端证书(可以是多个移动端),这些证书要通过他们的网关,给到我们手里的可以是jks格式证书。

你可能感兴趣的:(HTTPS如何使用自签证书和第三方CA证书配置服务器)