https研究(五)利用从sslforfree网站下载的证书,实现https

来源:互联网 发布:zencart 建站 编辑:程序博客网 时间:2024/06/08 18:44

第一步:下载证书

1.打开网址:https://www.sslforfree.com/

2.输入你的域名


3.选择手动验证(下载验证文件,检测是否能够访问到)


4.验证,按下图说明进行操作


这一步比较复杂,容易出错,请将准备工作前三步做好:

a.按要求下载文件#1/#2

b. 在tomcat/webapps下新建文件夹.wel-known(注意前面有个点,windows系统中写文件名时必须在后面也加一个点才能创建成功)

c.新建的文件夹.wel-known下新建文件夹acme-challenge

d.将下载的验证文件放到. wel-known/ .acme-challenge文件夹下

e.点击链接1,2验证是否可以访问到下载的wenjian,成功如下图:


否则(也可能是其他错误)


如果出错,请检查tomcat是否处于启动状态,配置是否正确,域名解析是否正确。

5.两个链接都成功访问后,点击下载证书


6.下载之前需要先登录该网站


7.登录成功就可以下载了


8.将下载的压缩文件解压到certificate文件夹中(新建的一个文件夹,用于存放证书)

文件夹下有三个文件:

1.    certificate.crt

2.    ca_bundle.crt(根证书和中间证书)

3.    private.crt


第二步:证书格式转换及配置tomcat


这一步需要使用keystool工具以及openssl工具,需要 用到准备五

一 、管理员身份运行cmd,进入证书所在目录

cd /d C:\Program_Files\certificate

二 、将三个文件分别导入keystore文件中(如果没有keystore文件,会在当前目录生成)

1.将ca_bundle.crt以别名root导入keystore

命令:

keytool -import -trustcacerts -alias root-file ca_bundle.crt -keystore keystore.jks


输入密码后,弹出上面内容直到:


输入y:


2.将ca_bundle.crt以别名intermediate 导入keystore

keytool -import -trustcacerts -aliasintermediate -file ca_bundle.crt -keystore keystore.jks

3.将ca_bundle.crt以别名tomcat 导入keystore

keytool -import -trustcacerts -alias tomcat-file certificate.crt -keystore keystore.jks

2,3只是证书文件名不同,其余都一样,就不一一截图。


导入成功后可以通过命令查看keystore中的文件,看是否导入成功

方法一:

keytool -list -keystore keystore.jks -v

方法二:以文本形式查看keystore中的文件

keytool -list -rfc -keystore keystore.jks

三 、修改tomcat配置

1.在tomcat/conf目录下打开server.xml文件


去掉注释,改为如下代码:

<Connector port="443" protocol="HTTP/1.1"SSLEnabled="true"scheme="https" secure="true" clientAuth="false"sslProtocol="TLS" keystoreFile="C:\Program_Files\certificate\keystore.jks"keystorePass="123456" />   

并把8443都改为443,443是https的默认端口号

2. 对tomcat\conf文件夹中的web.xml文件进行配置

在web.xml倒数</web-app>上添加如下代码,设置强制跳转

<security-constraint>    <web-resource-collection >   <web-resource-name >SSL</web-resource-name>   <url-pattern>/*</url-pattern>    </web-resource-collection>    <user-data-constraint>   <transport-guarantee>CONFIDENTIAL</transport-guarantee>    </user-data-constraint> </security-constraint>

重启tomcat。
四 、 使用OpenSSL生成pfx文件(pfx和p12只是后缀名不同)

在当前文件位置,执行下面命令:

openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile ca_bundle.crt


五 、 将pfx导入keystore

keytool -importkeystore -srckeystore certificate.pfx -srcstorepass 123456 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -deststorepass 123456


重启tomcat,现在访问你的域名就可以自动使用https访问你的主页









1 0