Certificate Management Protocol (CMP)协议概述

概述


本文内容来自维基百科CMP词条的翻译
CMP协议是一个互联网协议,用于在PKI体系中获取符合X.509标准的数字证书。文档RFC4210对其进行了详细地描述,该协议是至今为止唯二使用CRFM(Certificate Request Message Format)格式的,另一个使用该格式编码的协议是CMC(Certificate Management over CMS),在文档RFC4211中进行描述。

CMP消息使用ASN.1进行编码,使用DER方法,通常在HTTP协议上传输。

PKI 实体


在PKI体系中,CA负责颁发数字证书,并作为服务端使用CMP协议。通过该协议获取数字证书的客户端被称为EE(end entity终端实体)。EE和CA之间可以存在0个或者多个RA(registration authorities注册机构)。

协议细节


EE可以通过CMP协议从CA获取的数字证书分为三种类型:

  1. First certificate:新的数字证书同时携带一个新的公钥的(请求方不存在任何有效的数字证书);

  2. Certificate renewal:新的数字证书同时仍携带之前的公钥;

  3. Certificate rekey:新的数字证书同时携带一个新的公钥的(请求方已经存在一个有效的数字证书)

CA与EE之间数字证书交互消息包括下述四条,表格中描述了消息功能,消息流向和消息目的:

Function Message flow direction Purpose
Certificate Request PKI client->PKI server Request a certificate
Certificate Response PKI server->PKI client Deliver a certificate
Certificate Confirmation PKI client->PKI server Confirm the reception of a certificate
Confirmation Acknowledgement PKI server->PKI client Acknowledge the Certificate Confirmation message

传输


可以有多种传输方式携带CMP消息

  • 压缩在Http消息内

  • TCP或者其他可靠的传输连接

  • 通过文件协议,例如FTP或者SCP

  • 通过E-mail,使用MIME编码标准

参考


  • RFC 6712 Internet X.509 Public Key Infrastructure – HTTP Transfer for the Certificate Management Protocol (CMP)
  • EJBCA - The J2EE Certificate Authority
  • CMP for OpenSSL, Sourceforge Project page
阅读更多

没有更多推荐了,返回首页