SSL证书介绍
一种数字证书,也被称为 https证书、CA证书、安全证书、服务器证书 或 SSL证书
术语定义
数字签名
-
将待发送内容用 hash函数进行加密,生成摘要(digest) -
用 A私钥对 摘要进行 加密 生成数字签名 (signature) -
数字签名与摘要 一起发送给对方 -
对方接受到信件后,使用 A公钥解密,及对内容进行 hash加密,对比,进而确认内容的完整性
数字证书 - Digital Certificate
- 用CA 机构私钥信息对 用户的公钥信息进行加密
- 提供个人信息、证书信息、公钥信息 给到CA
解密过程
用CA 公钥解析数字证书 ——> 发送者公钥信息(公钥A)
用发送者公钥(公钥A) 解析 A 的数字签名 ——> 公钥信息(digest)
证书基本信息
# 详细内容包括以下项:
# 版本:v3 (X.509版本号,指出证书使用哪种X.509标准,除v3之外还有v2和v1)
# 序列号:?05 c4 22 a6 ff ac 8f cd 74 4c 73 64 50 1e b4 04 (序列号是在合法颁发机构CA的范围内是唯一且与证书一一对应的,但自制证书可以伪造任意序列号)
# 签名算法:sha256RSA (CA可通过签名算法为其颁发的证书进行签名以证明证书的确是由其颁发的)
# 签名哈希算法:sha256
# 颁发者:
# CN = GeoTrust CN RSA CA G1 (CN:证书通用名称)
# OU = www.digicert.com (OU:组织部门名)
# O = DigiCert Inc (O = 组织名)
# C = US (C:国家)
# S = 四川 (S:省)
# L = 成都 (L:地址)
# 有效期从:?2019?年?9?月?11?日 8:00:00(证书生效日期) 到:?2021?年?12?月?10?日 20:00:00(证书失效日期,可能在证书失效之前证书被吊销)
/*
根证书基本说明
1. 用户首先产生自己的密钥对,
2. 将公共密钥(公钥)及部分个人身份信息传送给认证中心
3. 认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息
包含内容 :用户个人信息、用户公钥信息、CA签名信息
*/
双向认证 单项认证 获取SSL证书前
- 首先要生成证书签名请求(CSR)和私钥 (自己的公私钥)
- 用户将 生成的 CSR发送到 证书颁发机构,使用证书结构的私钥进行签署用户的 SSL证书,并返回给用户
- 当浏览器检查到证书时,查看证书是有一个被信任的证书签名的(CA机构的私钥),所以浏览器信任此根证书签名的任何证书
- 证书链由两部分组成,信任锚(CA证书)环节和已签名的证书环节。
- 信任锚证书CA 环节可以对中间证书签名;中间证书的所有者可以用自己的私钥对另一个证书签名。这两者结合就构成了证书链。
|