跳到主要内容

3.7. CERTREQ Payload

3.7. CERTREQ Payload​

CERTREQ 负载告知对端自身接受的证书类型及相应的授权信息。CERTREQ 中证书数据的解释与 CERT 负载中的解释相同,只是它包含的是被接受证书的标识符(CA 或哈希),而不是证书本身。

CERTREQ 负载格式如下:

                 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 10:  CERTREQ 负载格式

o Cert Encoding (1 字节) - 证书编码的类型,同 CERT 负载。

o Certificate Data (变长) - 如果证书的类型是使用哈希和 URL 编码(类型 5-13),则此项包含 CA 的哈希或哈希的 URL 列表(由实现决定)。如果使用原始公钥编码(类型 11),则此项包含公钥的 SHA-1 哈希。如果接受任何证书,则此项可能为空。

发起方 SHOULD 在 IKE_SA_INIT 消息中包含 CERTREQ 负载。响应方 MUST 在 IKE_AUTH 消息中包含 CERTREQ 负载(如果它希望从发起方接收 CERT 负载)。