本文共 1445 字,大约阅读时间需要 4 分钟。
HTTPS是基于安全套接字协议(TLS/SSL)之上的HTTP通信协议
其核心优势在于能够抵御窃听、篡改、冒充、劫持等多种攻击方式,通过身份验证、信息加密以及完整性校验来保障通信安全
相比HTTP协议,HTTPS在TCP协议的三次握手之后增加了四次握手过程,从而实现了加密通信
PKI体系是公钥基础设施的简称,其核心功能是通过数字证书来管理公钥的分发与信任
在PKI体系中,信任方通常由受可信的证书颁发机构(CA机构)签名并分发
具体流程如下:CA机构审核申请方的身份信息后,利用其私钥对服务商的证书请求进行签名
服务商证书中包含CA机构的公钥,这样客户端可以利用CA机构的公钥来验证服务商证书上的签名,从而确认服务商的身份
SSL/TLS是PKI体系的一种具体实现方案
TLS是传输层安全协议的最新版本,基于RSA加密算法进行通信加密
SSL是TLS的上一代产品,已被废弃
SSL/TLS通信过程可分为以下几个阶段:
证书是CA机构基于申请方的服务商身份信息签发的身份认证凭据
浏览器预装了常用CA根证书,这些根证书由可信的CA机构签发
对于开发者而言,可以选择使用免费的CA机构如Let's Encrypt签发的证书
证书可通过信任链传递有效性,信任链由CA机构的自签名证书开始
证书内容通常包括:CA私钥签名、CA公钥、签发机构信息、域名、申请者信息等
证书主要分为两类:自签名证书和CA证书
证书吊销方式包括CRL文件和OCSP(在线证书状态查询)
常见的证书格式包括X.509、PKCS#7等
以下是使用openssl工具生成和签发证书的常规步骤:
openssl genrsa -out domain.key 4096 # 生成RSA私钥domain.key openssl req -new -key domain.key -out domain.csr # 基于domain.key生成证书请求 CSR openssl x509 -req -in domain.csr -signkey domain.key -out domain.crt # CA机构签发证书domain.crt
如果需要自签名证书,可使用以下命令:
openssl x509 -req -in domain.csr -signkey domain.key -extensions v3_ca -out domain_ca.crt # 生成自签名CA证书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证书的子证书
转载地址:http://vlxa.baihongyu.com/