博客
关于我
HTTPS通信安全及证书管理
阅读量:252 次
发布时间:2019-03-01

本文共 1198 字,大约阅读时间需要 3 分钟。

 

HTTPS基础

  • 基于安全套接字协议(TLS/SSL)之上的HTTP通信协议
  • 可用于抵御 窃听、篡改、冒充、劫持 攻击,实现 身份验证、信息加密、完整性校验
  • 其在TCP协议三次握手之后增加了四次握手

PKI体系原理

  1. CA机构审核服务商身份信息后利用私钥签名其证书请求来签发证书
  2. 客户端利用CA机构公钥校验服务商证书上的签名从而验证其身份

SSL/TLS

SSL/TLS 是 PKI 体系的一种实现

  • TLS: 传输层安全协议(Transport Layer Security),基于RSA加密算法
  • SSL:TLS的上一代产品,已废弃

SSL/TLS通信流程

  1. 客户端请求建立加密通信等 +随机数1
  2. 服务器返回证书(内含非对称加密公钥)等 +随机数2
  3. 客户端校验证书并从中取出公钥,通知服务端握手结束等 +公钥加密随机数3
  4. 服务端私钥解密随机数3,并通知客户端握手结束等
  5. 两端各自基于三个随机数生成对称加密秘钥session key,通信进入常规http协议并用session key加密

证书概要

证书是CA为服务商签发的身份认证凭据

  • 浏览器默认已内置了常用 CA根证书(CA的自签名证书)
  • 我们可选用免费的CA机构 Let's Encrypt 签发的证书
  • 证书可通过信任链传递有效性
  • 证书内容包括
    • CA私钥签名、CA公钥、签发机构、域名、申请者等
    • 可能存在的信任链(如果不是CA根证书签发的话)
  • 证书主要分两类:
    • 自签名证书
    • CA证书(可用于签名其他证书)
  • 有两种方式吊销证书:
    • CRL 文件
    • OCSP
  • 证书格式

常规证书签发

openssl genrsa -out domain.key 4096  # 网站先生成 rsa加密的私钥openssl req -new -key domain.key -out domain.csr  # 基于 网站私钥 生成 证书请求csr # csr证书请求 被签名后 转换为证书# 证书可由商业CA机构签发 或 以下方式自行签发3种证书:openssl x509 -req -in domain.csr -signkey domain.key -out domain.crt  # 基于网站私钥 签发 自签名证书openssl x509 -req -in domain.csr -signkey domain.key -extensions v3_ca -out domain_ca.crt  # 基于网站私钥 签发 自签名CA证书openssl x509 -req -in next_domain.csr -CA domain_ca.crt -CAkey domain_ca.key -CAcreateserial -extensions v3_usr -out next_domain_ca.crt  # 基于 CA证书、CAkey 签发 派生域名的CA证书

 

转载地址:http://vlxa.baihongyu.com/

你可能感兴趣的文章
Java错误与异常
查看>>
Java-IO之File类
查看>>
单链表的查找、建立操作(C语言)
查看>>
Delphi 数据类型列表
查看>>
Delphi 选择文件之OpenDialog【并添加至Image】
查看>>
C# 基础之前后端分离【02】
查看>>
Vue v-for 循环
查看>>
Vue 用户信息表的添加删除
查看>>
MySQL更改密码
查看>>
操作系统-- 死锁知识详解
查看>>
操作系统--内存管理策略知识详解
查看>>
操作系统--虚拟内存管理知识详解(下)
查看>>
第十届蓝桥省赛 Java 大学 C 组旋转
查看>>
并发控制
查看>>
A - 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历(BFS)
查看>>
L - 病毒扩散(暴力)
查看>>
SDUT程序设计基础(一)往年期末考试题目题解(2015~2017)
查看>>
AcWing 1432. 棋盘挑战(DFS回溯+n皇后问题变形)
查看>>
2021-02-04
查看>>
2021-04-15
查看>>