一、HTTPS概述
历史上,HTTPS 连接经常用于网络上的交易支付和企业信息系统中敏感信息的传输。在 2000 年代末至 2010 年代初,HTTPS 开始广泛使用,以确保各类型的网页真实,保护账户和保护用户通信,身份和网络浏览的私密性。另外,还有一种安全超文本传输协议(S-HTTP),也是 HTTP 安全传输的一种实现,但是 HTTPS 的广泛应用而成为事实上的 HTTP 安全传输实现,S-HTTP并没有得到广泛支持。
二、生成HTTPS证书
2.1、概述
首先我们需要有一个 https 证书,我们可以从各个云服务厂商处申请一个免费的,不过自己做实验没有必要这么麻烦,我们可以直接借助 Java 自带的 JDK 管理工具 keytool 来生成一个免费的 https 证书。进入到
%JAVVA_HOME%\bin
目录下,执行如下命令生成一个数字证书。# 指令解释
genkey: 表示要创建一个新的密钥
alias: 表示keystore的别名
keyalg: 表示使用的加密算法是RSA,一种非对称加密算法
keysize: 表示密钥的长度
keystore: 表示生成的密钥存放位置
validity: 表示密钥的有效时间,单位为天
keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore D:\Programs\https\star.p12 -validity 365