文章字数:483,阅读全文大约需要1分钟
开启
https
可以有效防止中间人攻击。原理是使用非对称加密,连接双方加密的信息只能用对方的秘钥解密。CA
颁发的证书还能够保证服务器证书不是被伪造的。
自己生成证书
这种证书可以保证加密连接,但是黑客可以自己生成一个和我们域名一样的证书,并使用DNS
劫持,将域名绑定到自己的ip
上。使用CA
颁发的证书可以解决这种问题。
- 使用
jdk
自带的命令生成证书
keytool -genkeypair -alias tomcat -keyalg RSA -keystore E:\tomcat.key
完整命令-alias tomcat
别名为tomcat-keyalg RSA
使用RSA非对称加密-keystore E:\tomcat.key
生成后保存位置
- 其它命令
1
2
3
4
5
6
7keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
1.-storetype 指定密钥仓库类型
2.-keyalg 生证书的算法名称,RSA是一种非对称加密算法
3.-keysize 证书大小
4.-keystore 生成的证书文件的存储路径
5.-validity 证书的有效期
- 配置
application.properties
1
2
3
4
5
6
7# 路径
# server.ssl.key-store: classpath:tomcat.key
server.ssl.key-store=tomcat.key
server.ssl.keyStoreType=JKS
server.ssl.key-alias=tomcat
# 生成的时候输入的
server.ssl.key-store-password=password123
使用CA的证书
- 阿里云腾讯云之类的都有,购买证书后下载。
- 下载后解压,复制
Tomcat
文件夹中的.jks
文件到资源目录,和配置文件同级 - 查看证书相关信息
keytool -list -keystore server.p12
- 配置
1 | server.port: 8092 |
配置Http转发到Https
1 |
|