跳到主要内容

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 编码,以避免证书在消息中的包含带来的膨胀。