3.6. CERT Payload
3.6. CERT Payload
CERT 负载包含一个或多个证书。证书用于各种目的,最重要的是用于身份验证。
CERT 负载格式如下:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Payload |C| RESERVED | Payload Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Cert Encoding | | +-+-+-+-+-+-+-+-+ | | | ~ Certificate Data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9: CERT 负载格式
o Cert Encoding (1 字节) - 证书编码的类型。定义的值包括:
- 1 - PKCS #7 包裹的 X.509 证书(已弃用)
- 2 - PGP 证书(已弃用)
- 3 - DNS 签名密钥(已弃用)
- 4 - X.509 证书签名(含 URL 的哈希和 URL)(已弃用)
- 5 - 杂凑和 URL 的 X.509 证书(不含证书本身)
- 6 - 杂凑和 URL 的 X.509 包(不含证书)
- 7 - 杂凑和 URL 的 PKCS #7 包裹(不含证书)
- 8 - 杂凑和 URL 的 PGP 证书(不含证书)
- 9 - 杂凑和 URL 的 DNS 签名密钥(不含证书)
- 10 - 杂凑和 URL 的 PKCS #1 证书(不含证书)
- 11 - 原始 RSA 密钥
- 12 - 杂凑和 URL 的 X.509 包,带签名(不含证书)
- 13 - 杂凑和 URL 的 X.509 证书,带签名(不含证书)
o Certificate Data (变长) - 编码为 Cert Encoding 字段所指示的形式的证书或哈希值。
注意:如果可能,强烈建议使用 CERT 负载的哈希和 URL 编码,以避免证书在消息中的包含带来的膨胀。