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

<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

内网Https 自签Https证书 配合Tomcat 实现内网Https详细图文的更多相关文章

  1. spring boot / cloud (五) 自签SSL证书以及HTTPS

    spring boot / cloud (五) 自签SSL证书以及HTTPS 前言 什么是HTTPS? HTTPS(全称:Hyper Text Transfer Protocol over Secur ...

  2. 【HTTPS】自签CA证书 && nginx配置https服务

    首先,搭建https服务肯定需要一个https证书.这个证书可以看做是一个应用层面的证书.之所以这么说是因为https证书是基于CA证书生成的.对于正式的网站,CA证书需要到有资质的第三方证书颁发机构 ...

  3. 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt

    让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt 为什么要用HTTPS  网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可 ...

  4. 谈HTTPS中间人攻击与证书校验(一)

    一.前言 随着安全的普及,https通信应用越发广泛,但是由于对https不熟悉导致开发人员频繁错误的使用https,例如最常见的是未校验https证书从而导致“中间人攻击”,并且由于修复方案也一直是 ...

  5. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  6. Https握手协议以及证书认证

    1. 什么是https Https = http + 加密 + 认证 https是对http的安全强化,在http的基础上引入了加密和认证过程.通过加密和认证构建一条安全的传输通道.所以https可以 ...

  7. 又拍云SSL证书全新上线,提供一站式HTTPS安全解决方案

    互联网快速发展,云服务早已融入每一个人的日常生活,而互联网安全与互联网的发展息息相关,这其中涉及到信息的保密性.完整性.可用性.真实性和可控性.又拍云上线了与多家国际顶级 CA 机构合作的数款OV & ...

  8. HTTPS原理和CA证书申请(转)

    原文地址:http://blog.51cto.com/11883699/2160032 众所周知,WEB服务存在http和https两种通信方式,http默认采用80作为通讯端口,对于传输采用不加密的 ...

  9. http跳转https方法:百度云如何让http自动跳转到https【免费SSL证书使用FAQ】

    之前的一篇文章已经给大家提供了免费SSL证书的申请方法,这一篇文章是告诉大家在使用免费的SSL证书时可能会遇到的问题[怎么让http自动跳转到https以及http与https同时使用]的解决方法. ...

随机推荐

  1. TypeScript之Https通信

    NetWorkRequest.ts(源代码如下) import * as https from "https"; import * as vscode from 'vscode'; ...

  2. CTF RCE(远程代码执行)

    目录 php代码执行 一.相关函数 1.代码注入 2.命令执行 二.命令执行的绕过 1.命令执行的分隔符 2.空格代替 3.绕过 4.命令执行的各种符号 三.命令无回显的情况 1.判断 2.利用 四. ...

  3. 启动服务器 SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener

    意思是spring.jar这个包在发布的时候没有被放入war.如果是maven管理的项目,可以看看这个项目的部署参数里有没有加入所有maven的包. 右键项目->Properties->D ...

  4. 【转】URL短地址压缩算法 微博短地址原理解析 (Java实现)

    转自: URL短地址压缩算法 微博短地址原理解析 (Java实现) 最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没 ...

  5. openresty开发系列39--nginx+lua实现接口签名安全认证

    一)需求背景现在app客户端请求后台服务是非常常用的请求方式,在我们写开放api接口时如何保证数据的安全,我们先看看有哪些安全性的问题 请求来源(身份)是否合法?请求参数被篡改?请求的唯一性(不可复制 ...

  6. Robot Framwork关键字驱动+RedwoodHQ安装

    一.Robot Framwork介绍 Robot Framwork是一款python编写的功能框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. ...

  7. .net程序反编译工具(ILSpy)

    ILSpy是SharpDevelop小组的反编译工具,ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C#代码. PC官方版 C#反编译工具ilspy ...

  8. Android Studio打包没有Generate signed apk选项 解决方法

    原文地址:https://www.jianshu.com/p/9e02e55f0ba8 1.点击build栏目-并没有Generate signed apk选项 2.点击file,选中如下图所示Syn ...

  9. win10 mount error 112 : host is down解决方案

    摘自:https://www.baidu.com/link?url=xZrOVRqR9gqGRq0esfVaivByR9E5-ixyAuKsQ_8Hiedl1sY6J7ezBlgSW3oe_X-koo ...

  10. PAT 甲级 1078 Hashing (25 分)(简单,平方二次探测)

    1078 Hashing (25 分)   The task of this problem is simple: insert a sequence of distinct positive int ...