架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11833|回复: 1

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

[复制链接]
发表于 2017-3-22 13:24:35 | 显示全部楼层 |阅读模式
关于HTTPS的加密过程以及原理我在上一篇《HTTPS借口加密和身份认证》中写了。

1.HTTPS自签CA证书及服务器配置
1.1单项认证--服务器配置

生成服务器证书
535139-8ed750316057177e.png
自签证书

A、输入keystore密码:此处需要输入大于6个字符的字符串。
B、“您的名字与姓氏是什么?”这是必填项,并且必须是TOMCAT部署主机的域名或者IP(就是你将来要在浏览器中输入的访问地址),否则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。
C、你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?”可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息。
D、输入的密钥口令,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以,完成上述输入后,直接回车则在你在第二步中定义的位置找到生成的文件。
接下来利用server.jks来签发证书
C:Userswkt>keytool -export -aliasserver -file server.cer -keystore server.jks
535139-bd171b2849430e36.png
根证书签发证书


配置Tomcat
找到tomcat/conf/sever.xml文件,并以文本形式打开。
找到端口为8443的标签,修改为:
disableUploadTimeout="true"  enableLookups="true"
keystoreFile="C:Userswktserver.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/,浏览器提示下图即为成功。
535139-61c8764def11333b.png
配置成功


1.2双向认证--服务器配置
生成客户端证书
535139-55e618913b11546b.png

按照生成证书的方式,再生成一对这样的文件,我们命名为:client.jks,client.cer。
将client.cer添加到client_for_server.jks文件中
配置服务器:将端口为8443的标签,修改为:
注:truststoreFile:信任证书的文件路径,truststorePass:信任证书的秘密
测试:启动Tomcat服务器,在浏览器中输入https://localhost:8443/,浏览器提示下图即为成功。
535139-cc9525768b35e539.png
配置成功


1.3  导出P12证书
上篇文章我们知道服务器认证客户端需要在客户端导入P12证书,那么如何用根证书颁发P12证书呢。
windows电脑可以使用Portecle来转:
535139-aa26d9844c3d2f2c.png
windows转换p12证书


2.使用第三方服务器数字证书
第三方的CA证书,我们需要做的就是提交材料购买一个服务器根证书,具体流程如下:
1.首先需要给第三方机构提供服务器的IP地址(注意:服务器证书绑定的IP地址,证书只能用来验证服务器)。
2.这里我们要求第三方机构给我们提供一个.pfx格式的证书。
3.我们拿到pfx格式的证书将其转换为jks格式的证书(使用Portecle转换)如下图所示:
535139-5ad31c03e95425e6.png
证书转换

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

注:keystoreFile:jks文件存放路径,keystorePass:生成证书时候的密码
5.完成以上操作是服务器证书配置后,启动Tomecat服务器,可到浏览器中输入https://115.28.233.131:8443,显示如下则表示成功(和12306的效果是一样的):
535139-9e0f574c292eac29.png
验证成功

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





上一篇:MVC This Virtual Directory does not allow contents to be listed.
下一篇:java: 错误: 编码GBK的不可映射字符
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-20 21:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表