Websocket是基于Http的一种长连接方案,一些简单的IM产品会基于Websocket实现 但是如果聊天的内容比较敏感,比如在Websocket通道中聊天内容如果涉及到卡密、金钱等信息,那一定要对Websocket的传输进行保护。
https或者wss是最基本的防嗅探和传输加密方式,这里演示下如何配置wss的多种方式;
本文知识点:
- p12格式文件与证书文件介绍
- 如何生成p12文件和证书文件,以及如何互相转换
- Nginx如何配置Https
- Spring Boot如何配置Https?
- WSS如何配置和使用?
过程
证书和p12基本概念
证书一般包含两个文件:
- 证书文件,可以理解为公钥,用户访问的时候发给用户的
- 私钥文件,在数据传输过程中对公钥加密的内容进行解密
p12为是保存私钥和证书的组合格式,同时包含了公钥和私钥内容。p12文件和证书可以互相转换。
转换方式如下:
# 私钥和证书生成p12文件
openssl pkcs12 -inkey PRIVATE_TEST.key -in PUBLIC_TEST.pem -export -out TEST.p12
# p12文件生成证书和私钥
openssl pkcs12 -nokeys -in TEST.p12 -out PUBLIC_TEST.pem
openssl pkcs12 -nocerts -nodes -in TEST.p12 -out PRIVATE_TEST.key
生成证书和p12文件
如果想要使用wss,首先要有个证书才行,证书有两种来源:
- CA机构颁发,当然目前各种云产品都会帮我们做掉这个事情,阿里云上如果有购买域名,可以申请免费的证书
- 自己签名证书,使用OpenSSL,keytools,或者Mac的钥匙串;
阿里云
在阿里云的菜单下面,安全部分,有个SSL证书
因为阿里云的证书要收费,我们考虑一些便宜又简单的方案
openssl
如果在Nginx中使用:文章来源:https://www.toymoban.com/news/detail-691523.html
直接生成公钥和私钥:文章来源地址https://www.toymoban.com/news/detail-691523.html
openssl req -newkey rsa:2048
到了这里,关于Https、Wss加密实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!