内网项目启用Https配置手册

软件需求:

  1. OpenSSL https://www.openssl.org/
  2. 已经安装了Java Jdk环境

制作前的需求:

  1. 已经配置了Jdk环境变量
  2. 安装好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 365010年有效期)

制作服务器证书

用 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(文件尾部!!!!)  添加以下代码到指定位置

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

最终效果

谷歌:

IE

参考博客:https://blog.csdn.net/byg184244735/article/details/85071877

最新文章

  1. C# 调用Excel 出现服务器出现意外情况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)
  2. openxml(二) 添加页眉,页脚
  3. UIPageControl
  4. Quadtrees--四叉树
  5. Extjs-4.2.1(一)——编辑 hello word
  6. UEditor配置图片上传
  7. android布局之线性布局
  8. Spring和MyBatis实现数据的读写分离
  9. RobotFramework自动化测试框架-移动手机自动化测试Click Element关键字的使用
  10. JVM笔记5-对象的访问定位。
  11. shell基本命令学习
  12. SQL SERVER 字符串按数字排序
  13. struct的匿名用法详解
  14. php(curl请求)测试接口案例
  15. hdu 2870 Largest Submatrix(平面直方图的最大面积 变形)
  16. C语言---数据结构(内建,数组,自定义)
  17. CF739E Gosha is hunting 【WQS二分 + 期望】
  18. sql数据库 大小查询
  19. Vim快捷键整理
  20. Android中使用File文件进行数据存储

热门文章

  1. 【CSP模拟赛】Confess(数学 玄学)
  2. python复合数据类型以及英文词频统计
  3. [Beta]第三次 Scrum Meeting
  4. 经典批处理实现自动关机(BAT)
  5. redis中get值显示为16进制字符串的解决方法
  6. typescript - 4.es5与typescript的类与继承
  7. linux crontab 定时使用方法
  8. 2-1 CLI 工程结构
  9. Blob/DataURL/canvas/image的相互转换
  10. Shell中的通配符