TLS+SSL认知

入门参考:
SSL/TLS 双向认证(一) – SSL/TLS工作原理
SSL-TLS 双向认证(二) – 基于mosquittto的MQTT双向认证

何为SSL/TLS单向认证,双向认证?
单向认证指的是只有一个对象校验对端的证书合法性。
通常都是client来校验服务器的合法性。那么client需要一个ca.crt,服务器需要server.crt,server.key
双向认证指的是相互校验,服务器需要校验每个client,client也需要校验服务器。
server 需要 :server.key 、server.crt 、ca.crt
client 需要:client.key 、client.crt 、ca.crt

参考:SSL与TLS的区别以及介绍文件说明
文件说明:

  1. TLS:传输层安全协议 Transport Layer Security
  2. SSL:安全套接字层 Secure Socket Layer
  3. KEY:通常指私钥
  4. CSR:Certificate Signing Request,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。
  5. CRT:certificate的缩写,即证书。

openssl 给自己颁发证书的步骤: 单向认证配置双向认证配置

前提:先建一个cert目录,cd到该目录,以下所有命令的当前路径均为该目录
1、生成私钥KEY

openssl genrsa -des3 -out server.key 2048

这一步执行完以后,cert目录下会生成server.key文件

2、生成证书请求文件CSR

openssl req -new -key server.key -out server.csr

该命令先进入交互模式,让你填一堆东西,参考下图:
这里写图片描述
要注意的是Common Name这里,要填写成使用SSL证书(即:https协议)的域名或主机名,否则浏览器会认为不安全。例如:如果以后打算用https://yjm-docker/xxx 这里就填写yjm-docker

3、生成CA的证书
前面提过X.509证书的认证者总是CA或由CA指定的人,所以得先生成一个CA的证书

openssl req -new -x509 -key server.key -out ca.crt -days 3650

4、最后用第3步的CA证书给自己颁发一个证书

openssl x509 -req -days 3650 -in server.csr \
  -CA ca.crt -CAkey server.key \
  -CAcreateserial -out server.crt

最后、CA校验证书测试

openssl verify -CAfile ca/ca.crt server/server.crt
openssl verify -CAfile ca/ca.crt client/client.crt

这里写图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值