一、SSL证书申请流程
1、输入域名选择类型
2、设置参数选项
这里我们选择验证域名(验证域名到底是不是你的,你有没有对应域名的权限)的方式为DNS类型,也就是我们必须在我的域名管理平台(我用的阿里云申请的域名)的DNS中将生成的TXT记录和记录值用DNS来验证,也就是DNS解析成TXT和记录值,这时候freessl就能与DNS的TXT记录与记录值进行校验来确定你填写的域名是否真实属于你(也就是你拥有该域名的权限)。
3、解析DNS验证
记录一下TXT记录与记录值。
4、配置阿里云DNS解析
使用DNS验证,必须使用DNS来解析TXT记录与记录值,freessl就能通过接口验证你填写的与他保存的是否一致,如果一致那说明注册域名属于你本人!
在域名管理控制台就能看到我的域名列表,当然域名怎么购买自己到阿里云上看看就知道了。我这里面的第一年1元一个!点击你注册的域名(也是freessl中注册的域名)右侧的按钮“解析”,弹出如下界面,当前我的DNS解析类型为A--也即是指向一个ip4地址,记录键为www,记录值为ipv4地址;
点击“修改”按钮,弹出界面,选择解析类型为TXT记录
并将记录值ip改为TXT记录值,然后点击确定即可完成DNS解析TXT记录功能;
5、freessl验证
回到freessl的页面,经过如上步骤之后,freessl已经通过域名DNS解析TXT与本地的值校验成功,“点击验证”即可验证通过,然后生成了私钥、CA证书等信息,点击下载证书即可将所有信息打包下载!
6、full_chain.pem与private.key转换为pfx证书
由于申请的免费证书的压缩包中只含有full_chain.pem与private.key两个文件,但是tomcat中使用的是pfx证书文件,所以需要转化!
转化流程如下:
(1)下载Win32OpenSSL
Win32OpenSSL 下载地址:http://gnuwin32.sourceforge.net/packages/openssl.htm下载后解压到本机目录即可。
找到openssl的bin目录,找到openssl.exe文件,单击右键以管理员身份运行,打开命令行,输入命令:
pkcs12 -export -out D:\name.pfx -in D:\full_chain.pem -inkey D:\private.key
输入两次密码确认,这样通过两个输入文件full_chain.pem和private.key就能在D盘生成对应的pfx文件,文件名为name.pfx
(2)用keytool工具生成jks文件
此步骤必须安装JDK并配置JDK环境变量。打开cmd命令工具,进入jdk的bin目录,输入命令:
keytool -importkeystore -srckeystore D:\name.pfx -destkeystore D:\name.jks -srcstoretype PKCS12 -deststoretype JKS
输入新密码和步骤(1)中的源密码确定后在D盘生成name.jks文件了!过程中的输入的密码请牢记。得到jks秘钥库后,我们就可以配置在tomcat服务器上。
二、tomcat中配置pfx证书
在tomcat目录下创建cert文件夹,并将转换前后的文件放入其中,新建一个pfx-password.txt将密码存里面以备忘记:
打开tomcat的配置文件conf/server.xml,取消如**释并添加三个属性keystoreFile,keystoreType,keystorePass:
当然port端口根据自己的需要进行更改( 443端口网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP,同80端口是http默认端口一样,443是https的默认端口),保存重启tomcat,访问https://127.0.0.1:8443/项目地址。能正常访问则表示证书安装成功。
此时如果不使用域名访问,出现浏览器不信任的标识;但是如果使用申请的域名访问:
由于我的域名是公网的,但是网站是私网的,我要访问我的网站但是又要用我申请的域名,所以我需要在自己主机配置地址与域名映射,客户端首先使用本机的host文件查找域名获取地址,而不是从阿里云DNS获取:
360浏览器访问,显示https,并没有打叉,说明360浏览器信任;
谷歌浏览器,显示安全: