记录 内网http 转为 https(tomcat版本)

内网http 转为 https(tomcat版本)

内网项目启用Https配置手册
软件需求:
OpenSSL https://www.openssl.org/
已经安装了Java Jdk环境

制作前的需求:
已经配置了Jdk环境变量
安装好OpenSSL后配置了环境变量
在这里插入图片描述

开始制作CA根证书
在任意盘符(我这里选择G盘)下新建一个文件夹 这里我建立一个ca的文件夹用来存储生成的CA证书
在这里插入图片描述

创建私钥
生成私钥命令:openssl genrsa -out ca/ca-key.pem 1024

在这里插入图片描述

创建证书请求
命令:openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem

在这里插入图片描述

生成CA自签证书
命令:openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650(10年有效期)

在这里插入图片描述

制作服务器证书
用 java 自带的 keytool工具生成密钥(密码123456)
命令:keytool -genkey -alias example -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore example.jks

在这里插入图片描述

用keytool工具生成证书请求(涉及到的证书名字是 example)
命令:keytool -certreq -alias example -sigalg MD5withRSA -file example.csr -keypass 123456 -keystore example.jks -storepass 123456

在这里插入图片描述

根据证书请求,用CA签证,生成服务器证书
命令:openssl x509 -req -in example.csr -out example.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -days 365 -set_serial 1

在这里插入图片描述

向 本地keystore 密钥库中导入证书
命令:keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file ca/ca-cert.pem -keystore example.jks

在这里插入图片描述

导入服务器证书
命令:keytool -import -v -trustcacerts -storepass 123456 -alias example -file example.pem -keystore example.jks
在这里插入图片描述

单独导出 CA 作为信任证书
命令:keytool -import -alias example-ca -trustcacerts -file ca/ca-cert.pem -keystore exampletrust.jks

在这里插入图片描述
这里输入的密码是:123456 证书的密码

查看生成的文件:

在这里插入图片描述

客户端安装证书:
命令:openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12

在这里插入图片描述

这里输入的密码是 123456(证书密码)
查看生成证书:ca文件夹下面

在这里插入图片描述
ca.p12文件就是生成的证书
双击打开导入——》当前用户——》下一步——》输入密码(123456)——》
打开ie浏览器,在 internet 选项``内容中清除ssl状态,重启浏览器再重新访问,就不会再有不信任的提示。

在这里插入图片描述

点击下一步完成即可!
Tomcat 服务器导入证书
首先复制刚才生成的那两个文件:

复制到tomcate 目录下面:例如放到conf文件夹下

在这里插入图片描述

打开server.xml文件 复制下面内容到指定位置:
复制内容:

<Connector port=“443” protocol=“HTTP/1.1” SSLEnabled=“true”

  maxThreads="250" scheme="https" secure="true"

  clientAuth="false" sslProtocol="TLS" keystoreFile="conf/example.jks"

  keystorePass = "123456" truststoreFile="conf/exampletrust.jks"

  truststorePass="123456"/>

在这里插入图片描述

放置位置:(注意放置位置一定要对!!!!!)

说明:123456表示的是证书密码 443是https默认端口

修改默认的http端口和https端口
默认Tomcat HTTP端口8080 HTTPS默认端口8443

修改下列位置8080——》80 8443——》443

在这里插入图片描述
=-------------------------------------------

强制使用Https
打开conf文件夹下面的web.xml(文件尾部!!!!) 添加以下代码到指定位置

    <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>

结果就可以通过https访问项目了

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值