rfc-5273

Certificate Management over CMS (CMC): Transport Protocols

J. Schaad, M. Myers
date2008-06 streamIETF areasec wgpkix statusPROPOSED STANDARD pages7 canonicalhttps://www.rfc-editor.org/rfc/rfc5273 doi10.17487/RFC5273 errataview
This document defines a number of transport mechanisms that are used to move CMC (Certificate Management over CMS (Cryptographic Message Syntax)) messages. The transport mechanisms described in this document are HTTP, file, mail, and TCP. [STANDARDS-TRACK]

updated by

Extracted elements (22)

design-rationale §4

HTTP over TLS is cited as the preferred mechanism for content protection from eavesdroppers in HTTP-based transport, rather than HTTP authentication mechanisms, which servers MUST NOT assume are available.

pkix, http, tls, security

design-rationale §5

TCP connection reuse for multiple successive requests is recommended over opening multiple single-use connections, explicitly for performance and resource conservation reasons.

pkix, tcp, crypto

interoperability-note §4

Clients MAY attempt to send HTTP requests using TLS 1.0 or later for content protection, although servers are not required to support TLS.

pkix, http, tls, crypto

interoperability-note §3

For mail-based transport, MIME wrapping between layers of CMS wrapping is optional, which differs from standard S/MIME message handling.

pkix, email, crypto

normative-requirement §2 SHOULD

File type extensions SHOULD be used to identify CMC message types: .p10 for Simple PKI Request, .crq for Full PKI Request, .p7c for Simple PKI Response, and .crp for Full PKI Response.

pkix, crypto

normative-requirement §4 MUST

For HTTP-based transport, clients MUST use the POST method to submit their requests.

pkix, http, crypto

normative-requirement §3 MUST

For mail-based transport, simple enrollment requests MUST include a file name in a content-type or content-disposition statement, and the extension for the file MUST be '.p10'.

pkix, email, crypto

normative-requirement §5 SHOULD NOT

For TCP-based transport, only Private Ports 49152-65535 may be used without registration; ports in the range 1-49151 SHOULD NOT be used.

pkix, tcp, crypto

normative-requirement §5 RECOMMENDED

For TCP-based transport, reusing one connection for multiple successive requests instead of opening multiple connections is RECOMMENDED for performance and resource conservation.

pkix, tcp, crypto

normative-requirement §3 MUST

Full enrollment request messages MUST be encoded as content type 'application/pkcs7-mime' with smime-type parameter 'CMC-Request' and a file name with the '.p7m' extension.

pkix, email, crypto

normative-requirement §3 MUST

Full enrollment response messages MUST be encoded as content type 'application/pkcs7-mime' with smime-type parameter 'CMC-response' and a file name with the '.p7m' extension.

pkix, email, crypto

normative-requirement §4 MUST NOT

Servers MUST NOT assume client support for any type of HTTP authentication such as cookies, Basic authentication, or Digest authentication.

pkix, http, security, crypto

normative-requirement §4 MUST

Servers MUST use the 200 response code for successful HTTP responses.

pkix, http, crypto

normative-requirement §3 MUST

Simple enrollment response messages MUST be encoded as content type 'application/pkcs7-mime' with smime-type parameter 'certs-only' and a file name with the '.p7c' extension.

pkix, email, crypto

normative-requirement §4.2 MUST

The Content-Type header in an HTTP PKI Response MUST have the appropriate value from Table 1.

pkix, http, crypto

normative-requirement §2 MUST

When files are used to transport binary Full PKI Request or Full PKI Response messages, there MUST be only one instance of a request or response message in a single file.

pkix, crypto

protocol-element §3

Four CMC message types are defined for transport: Simple PKI Request (PKCS#10), Full PKI Request (CMS-wrapped), Simple PKI Response (certs-only), and Full PKI Response (CMS-wrapped). Each has assigned MIME types, file extensions, and smime-type parameters.

pkix, crypto

protocol-element §4.1

HTTP PKI Request body is the binary value of the encoding of the PKI Request, with the appropriate Content-Type header from Table 1.

pkix, http, crypto

protocol-element §4.2

HTTP PKI Response is composed of appropriate HTTP headers followed by the binary BER encoding of either a Simple or Full PKI Response.

pkix, http, crypto

protocol-element §5

TCP-based CMC transport sends messages in binary encoded form with no additional wrapping. The port to be used is configured out of band.

pkix, tcp, crypto

security-consideration §6

Establishing a secure channel between an end-entity and a CA or RA requires an out-of-band trust initiation mechanism (e.g., via IPsec or TLS). In cases where no prior out-of-band trust has been established, the Enveloped Data content type MUST be used to provide shrouding equivalent to what TLS would provide.

pkix, security, crypto, tls, ipsec

security-consideration §6

Mechanisms for thwarting replay attacks may be required depending on operational environment. Implementers must carefully consider whether to implement senderNonce and recipientNonce attributes (defined in CMC-STRUCT Section 6.6); state-constrained PKI clients are strongly encouraged to use these attributes.

pkix, security, crypto