Appearance
Appearance
CMP 是一种用于管理基于 X.509v3 证书的 Public Key Infrastructures(PKI)的协议。该协议定义了用于证书创建和管理的消息。CMP 被 Nexus Certificate Manager、Entrust Security Manager、Unicert、Insta Certifier 和 Cryptlib 等商业 PKI 产品使用。OpenSSL 客户端实现仍在开发中。
在 RFC 2510 版本以及 RFC 4210 的一些实现中,CMP 在 TCP 之上使用自己的 "TCP-Messaging" 协议。CMP 流量的知名 TCP 端口是 829。
如今,HTTP 通常被用作 RFC 4210 实现的传输协议。HTTP header 中设置的 Content-Type 是 "application/pkixcmp"
某些实现可能会组合使用上述传输协议,即 TCP-Messaging-over-HTTP。在这种情况下,HTTP header 中设置的 Content-Type 应为非官方的 "application/pkixcmp-poll"。
虽然目前没有已知实现支持,但 CMPtrans(见下文)中也提到了通过 email(SMTP、POP 等)或文件传输(FTP)传输 CMP。
所示 trace 可在此处获得:cmp_IR_sequence_OpenSSL-Cryptlib.pcap
启用此首选项时,如果使用 TCP-Messaging 协议作为传输,CMP dissector 将重新组装通过多个 TCP segment 传输的 CMP 消息。
当用于传输 CMP 的 TCP-Messaging 端口不同于知名 TCP 端口(829)时,可以使用此首选项设置该 TCP 端口;默认使用知名端口。当该首选项设置为 0 时,将使用此默认值。
在 HTTP 传输场景中,可以使用此首选项设置备用 TCP 端口。当使用的 TCP 端口未配置为 HTTP,或传输的 HTTP header 的 Content-Type 错误地未设置为 "application/pkixcmp" 时,应设置此选项。当值设置为 0 时,此首选项被禁用。
在 HTTP 之上的 TCP-messaging 传输场景中,可以使用此首选项设置备用 TCP 端口。当使用的 TCP 端口未配置为 HTTP,或传输的 HTTP header 的 Content-Type 错误地未设置为(非官方的)"application/pkixcmp-poll" 时,应设置此选项。当值设置为 0 时,此首选项被禁用。
SampleCaptures/cmp_IR_sequence_OpenSSL-Cryptlib.pcap CMP version 2,封装在端口 8080 上的 HTTP 中。完整的 "Initialization Request"。
SampleCaptures/cmp_IR_sequence_ OpenSSL-EJBCA.pcap CMP version 2,封装在端口 880 上的 HTTP 中。完整的 IR,使用 CRMF regToken 认证。
SampleCaptures/cmp-trace.pcap.gz CMP certificate requests
SampleCaptures/cmp-in-http-with-errors-in-cmp-protocol.pcap.gz CMP version 2,封装在端口 4711 上的 HTTP 中。完整的 "Initialization Request" 和被拒绝的 "Key Update Request"。CMP packages 中存在一些错误。
SampleCaptures/cmp_in_http_with_pkixcmp-poll_content_type.pcap.gz CMP version 2,封装在 HTTP 中。CMP 消息使用已弃用但仍被使用的 content-type "pkixcmp-poll",因此它们使用 TCP 传输风格。在四个 CMP 消息中的两个中,content type 未被显式设置,因此无法被正确解析。
完整的 CMP 显示过滤器字段列表可在显示过滤器参考中找到
仅显示基于 CMP 的流量:
cmp抓包时无法直接过滤 CMP。不过,如果您知道所使用的 TCP 端口(见上文),可以按该端口进行过滤。
仅捕获默认端口(829)上的 TCP-Messaging CMP 流量:
tcp port 829RFC 4210Internet X.509 Public Key Infrastructure Certificate Management Protocols。此版本取代 RFC 2510。根据新的 RFC,CMP 传输协议问题在单独的 CMPtrans 文档中处理。
RFC 4211Certificate Request Message Format 或多或少与 CMP 绑定。此版本取代 RFC 2511,并由 RFC 4210 使用
Last IETF CMPtrans draft 该 CMPtrans 草案已经过期,因此没有可用的强制性传输协议规范。其中存在明显错误,可能造成混淆。实现或多或少遵循它。
Imported from https://wiki.wireshark.org/CMP on 2020-08-11 23:12:18 UTC

