对X509证书中密钥用法和增强密钥用法做个梳理
- 密钥用法 Key Usage
名称 | 含义 |
---|---|
数字签名(Digital Signature) | 指示该证书可以用于验证数字签名 |
非复制(Non-repudiation) | 与数字签名类似,但强调不能否认已签名的内容,不可否认 |
密钥加密(Key Encipherment) | 指示该证书可以用于加密密钥 |
数据加密(Data Encipherment) | 指示该证书可以用于加密数据 |
密钥协商(Key Agreement) | 指示该证书可以用于密钥交换协议 |
加密(Encipher Only) | 指示该证书只能用于加密数据,不可用于解密 |
解密(Decipher Only) | 指示该证书只能用于解密数据,不可用于加密 |
证书签名(Certificate Sign) | 指示该证书可以用于签名其他证书 |
CRL签名(CRL Sign) | 指示该证书可以用于签名证书吊销列表(CRL) |
- 增强密钥用法 Extended Key Usage
名称 | 含义 |
---|---|
服务器身份验证(Server Authentication) | 用于HTTPS服务器身份验证 |
客户端身份验证(Client Authentication) | 用于HTTPS客户端身份验证 |
代码签名(Code Signing) | 用于软件代码签名 |
电子邮件保护(E-mail Protection) | 用于保护电子邮件通信 |
时间戳(Time Stamping) | 用于时间戳服务 |
服务器身份验证(Server Authentication) | 用于HTTPS服务器身份验证 |
OCSP签名(OCSP Signing) | 用于在线证书状态协议(OCSP)响应签名 |
证书透明度(Certificate Transparency) | 用于证书透明度日志的签名 |
- 常见证书配置
证书 | 密钥用法 | 增强密钥用法 |
---|---|---|
TLS服务器证书 | 数字签名、密钥加密 | 服务器身份验证 |
代码签名证书 | 数字签名、非复制 | 代码签名 |
客户端证书 | 数字签名、密钥加密 | 客户端身份验证 |
根证书 | 证书签名 | 无 |
中间证书 | 证书签名 | 不定 |
CRL签名证书 | CRL签名 | 无 |
OCSP响应签名证书 | 数字签名 | OCSP签名 |