draft-ietf-lamps-cmp-updates-06.txt   draft-ietf-lamps-cmp-updates-07.txt 
LAMPS Working Group H. Brockhaus LAMPS Working Group H. Brockhaus
Internet-Draft Siemens Internet-Draft D. von Oheimb
Updates: 4210, 6712 (if approved) November 2, 2020 Updates: 4210, 5912, 6712 (if approved) Siemens
Intended status: Standards Track Intended status: Standards Track 22 January 2021
Expires: May 6, 2021 Expires: 26 July 2021
CMP Updates Certificate Management Protocol (CMP) Updates
draft-ietf-lamps-cmp-updates-06 draft-ietf-lamps-cmp-updates-07
Abstract Abstract
This document contains a set of updates to the base syntax and This document contains a set of updates to the syntax and transport
transport of Certificate Management Protocol (CMP) version 2. This of Certificate Management Protocol (CMP) version 2. This document
document updates RFC 4210 and RFC 6712. updates RFC 4210 and RFC 6712.
Specifically, the CMP services updated in this document comprise the The aspects of CMP updated in this document are using EnvelopedData
enabling of using EnvelopedData instead of EncryptedValue, adding new instead of EncryptedValue, adding new general message types, defining
general message types, the definition of extended key usages to extended key usages to identify certificates of CMP endpoints on
identify certificates of CMP endpoints on certification and certification and registration authorities, and adding an HTTP URI
registration authorities, and adds an HTTP URI discovery mechanism discovery mechanism and extending the URI structure.
and extend the URI structure.
To properly differentiate the support of EnvelopedData instead of
EncryptedValue, the CMP version 3 is introduced in case a transaction
is supposed to use EnvelopedData.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 6, 2021. This Internet-Draft will expire on 26 July 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents (https://trustee.ietf.org/
(https://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Simplified BSD License text
include Simplified BSD License text as described in Section 4.e of as described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Simplified BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Convention and Terminology . . . . . . . . . . . . . . . 3 1.1. Convention and Terminology . . . . . . . . . . . . . . . 3
2. Updates to RFC 4210 - Certificate Management Protocol (CMP) . 3 2. Updates to RFC 4210 - Certificate Management Protocol
(CMP) . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. New Section 1.1. - Changes since RFC 4210 . . . . . . . . 4 2.1. New Section 1.1. - Changes since RFC 4210 . . . . . . . . 4
2.2. New Section 4.5 - Extended Key Usage . . . . . . . . . . 4 2.2. New Section 4.5 - Extended Key Usage . . . . . . . . . . 5
2.3. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 6 2.3. Update Section 5.1.1. - PKI Message Header . . . . . . . 7
2.4. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 7 2.4. Update Section 5.1.3.1. - Shared Secret Information . . . 7
2.5. Update Section 5.3.4. - Certification Response . . . . . 9 2.5. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 8
2.6. Update Section 5.3.19.2. - Signing Key Pair Types . . . . 9 2.6. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 9
2.7. Update Section 5.3.19.3. - Encryption/Key Agreement Key 2.7. Update Section 5.3.4. - Certification Response . . . . . 10
Pair Types . . . . . . . . . . . . . . . . . . . . . . . 10 2.8. Update Section 5.3.19.2. - Signing Key Pair Types . . . . 11
2.8. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 10 2.9. Update Section 5.3.19.3. - Encryption/Key Agreement Key
2.9. New Section 5.3.19.14 - CA Certificates . . . . . . . . . 10 Pair Types . . . . . . . . . . . . . . . . . . . . . . . 11
2.10. New Section 5.3.19.15 - Root CA Certificates Update . . . 11 2.10. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 12
2.11. New Section 5.3.19.16 - Certificate Request Template . . 11 2.11. New Section 5.3.19.14 - CA Certificates . . . . . . . . . 12
2.12. Update Section 5.3.22 - Polling Request and Response . . 12 2.12. New Section 5.3.19.15 - Root CA Certificate Update . . . 12
2.13. Update Section 9 - IANA Considerations . . . . . . . . . 13 2.13. New Section 5.3.19.16 - Certificate Request Template . . 13
2.14. Update Appendix B - The Use of Revocation Passphrase . . 14 2.14. Update Section 5.3.22 - Polling Request and Response . . 14
2.15. Update Appendix C - Request Message Behavioral 2.15. Update Section 7 - Version Negotiation . . . . . . . . . 15
Clarifications . . . . . . . . . . . . . . . . . . . . . 15 2.16. Update Section 7.1.1. - Clients Talking to RFC 2510
2.16. Update Appendix D.2. - Algorithm Use Profile . . . . . . 16 Servers . . . . . . . . . . . . . . . . . . . . . . . . 16
2.17. Update Appendix D.4. - Initial Registration/Certification 2.17. Update Section 9 - IANA Considerations . . . . . . . . . 16
(Basic Authenticated Scheme) . . . . . . . . . . . . . . 16 2.18. Update Appendix B - The Use of Revocation Passphrase . . 18
2.19. Update Appendix C - Request Message Behavioral
Clarifications . . . . . . . . . . . . . . . . . . . . . 18
2.20. Update Appendix D.1. - General Rules for Interpretation of
These Profiles . . . . . . . . . . . . . . . . . . . . . 19
2.21. Update Appendix D.2. - Algorithm Use Profile . . . . . . 19
2.22. Update Appendix D.4. - Initial Registration/Certification
(Basic Authenticated Scheme) . . . . . . . . . . . . . . 20
3. Updates to RFC 6712 - HTTP Transfer for the Certificate 3. Updates to RFC 6712 - HTTP Transfer for the Certificate
Management Protocol (CMP) . . . . . . . . . . . . . . . . . . 16 Management Protocol (CMP) . . . . . . . . . . . . . . . . 20
3.1. New Section 1.1. - Changes since RFC 6712 . . . . . . . . 16 3.1. New Section 1.1. - Changes since RFC 6712 . . . . . . . . 20
3.2. Replace Section 3.6. - HTTP Request-URI . . . . . . . . . 17 3.2. Replace Section 3.6. - HTTP Request-URI . . . . . . . . . 20
3.3. Update Section 6. - IANA Considerations . . . . . . . . . 18 3.3. Update Section 6. - IANA Considerations . . . . . . . . . 21
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
5. Security Considerations . . . . . . . . . . . . . . . . . . . 19 5. Security Considerations . . . . . . . . . . . . . . . . . . . 22
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.1. Normative References . . . . . . . . . . . . . . . . . . 19 7.1. Normative References . . . . . . . . . . . . . . . . . . 22
7.2. Informative References . . . . . . . . . . . . . . . . . 21 7.2. Informative References . . . . . . . . . . . . . . . . . 24
Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 21 Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 24
A.1. 1988 ASN.1 Module . . . . . . . . . . . . . . . . . . . . 21 A.1. 1988 ASN.1 Module . . . . . . . . . . . . . . . . . . . . 25
A.2. 2002 ASN.1 Module . . . . . . . . . . . . . . . . . . . . 33 A.2. 2002 ASN.1 Module . . . . . . . . . . . . . . . . . . . . 37
Appendix B. History of changes . . . . . . . . . . . . . . . . . 46 Appendix B. History of changes . . . . . . . . . . . . . . . . . 49
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 49 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 52
1. Introduction 1. Introduction
[RFC Editor: please delete]: !!! The change history was moved to [RFC Editor: please delete]: !!! The change history was moved to
Appendix B !!! Appendix B !!!
While using CMP [RFC4210] in industrial and IoT environments and While using CMP [RFC4210] in industrial and IoT environments and
developing the Lightweight CMP Profile developing the Lightweight CMP Profile
[I-D.ietf-lamps-lightweight-cmp-profile] some limitations were [I-D.ietf-lamps-lightweight-cmp-profile] some limitations were
identified in the original CMP specification. This document updates identified in the original CMP specification. This document updates
RFC 4210 [RFC4210] and RFC 6712 [RFC6712] to overcome these RFC 4210 [RFC4210] and RFC 6712 [RFC6712] to overcome these
limitations. limitations.
In general, this document aims to improve the crypto agility of CMP Among others, this document improves the crypto agility of CMP, which
to be flexible to react on future advances in cryptography. means to be flexible to react on future advances in cryptography.
This document also introduces new extended key usages to identify CMP This document also introduces new extended key usages to identify CMP
endpoints on registration and certification authorities. endpoints on registration and certification authorities.
1.1. Convention and Terminology 1.1. Convention and Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 [RFC2119] document are to be interpreted as described in BCP 14 [RFC2119]
[RFC8174] when, and only when, they appear in all capitals, as shown [RFC8174] when, and only when, they appear in all capitals, as shown
here. here.
Technical terminology is used in conformance with RFC 4210 [RFC4210], Technical terminology is used in conformance with RFC 4210 [RFC4210],
RFC 4211 [RFC4211], and RFC 5280 [RFC5280]. The following key words RFC 4211 [RFC4211], and RFC 5280 [RFC5280]. The following key words
are used: are used:
CA: Certification authority, which issues certificates. CA: Certification authority, which issues certificates.
RA: Registration authority, an optional system component to which a RA: Registration authority, an optional system component to which a
CA delegates certificate management functions such as CA delegates certificate management functions such as
authorization checks. authorization checks.
KGA: Key generation authority, which generates key pairs on behalf of KGA: Key generation authority, which generates key pairs on behalf
an EE. The KGA could be co-located with an RA or a CA. of an EE. The KGA could be co-located with an RA or a CA.
EE: End entity, a user, device, or service that holds a PKI EE: End entity, a user, device, or service that holds a PKI
certificate. An identifier for the EE is given as its subject certificate. An identifier for the EE is given as its subject
of the certificate. of the certificate.
2. Updates to RFC 4210 - Certificate Management Protocol (CMP) 2. Updates to RFC 4210 - Certificate Management Protocol (CMP)
2.1. New Section 1.1. - Changes since RFC 4210 2.1. New Section 1.1. - Changes since RFC 4210
The following subsection describes feature updates to RFC 4210 The following subsection describes feature updates to RFC 4210
[RFC4210]. They are always related to the base specification. Hence [RFC4210]. They are always related to the base specification. Hence
references to the original sections in RFC 4210 [RFC4210] are used references to the original sections in RFC 4210 [RFC4210] are used
whenever possible. whenever possible.
Insert this section at the end of the current Section 1. Insert this section at the end of the current Section 1.
1.1 Changes since RFC 4210 1.1. Changes since RFC 4210
The following updates are made in [thisRFC]: The following updates are made in [thisRFC]:
o Add new extended key usages for different CMP server types, e.g. * Add new extended key usages for various CMP server types, e.g.,
registration authority and certification authority, to express the registration authority and certification authority, to express the
authorization of the entity identified in the certificate authorization of the entity identified in the certificate
containing the respective extended key usage extension to act as containing the respective extended key usage extension to act as
the indicated PKI management entity. the indicated PKI management entity.
o Extend the description of multiple protection to cover additional * Extend the description of multiple protection to cover additional
use cases, e.g., batch processing of messages. use cases, e.g., batch processing of messages.
o Offering EnvelopedData as the preferred choice next to * Offering EnvelopedData as the preferred choice next to
EncryptedValue to extend crypto agility in CMP. Note that EncryptedValue to better support crypto agility in CMP. Note that
according to RFC 4211 [RFC4211] section 2.1.9 the use of the according to RFC 4211 [RFC4211] section 2.1. point 9 the use of
EncryptedValue structure has been deprecated in favor of the the EncryptedValue structure has been deprecated in favor of the
EnvelopedData structure. RFC 4211 [RFC4211] offers the EnvelopedData structure. RFC 4211 [RFC4211] offers the
EncryptedKey structure, a choice of EncryptedValue and EncryptedKey structure, a choice of EncryptedValue and
EnvelopedData for migration to EnvelopedData. For reasons of EnvelopedData for migration to EnvelopedData. For reasons of
completeness and consistency the exchange of EncryptedValue is completeness and consistency the type EncryptedValue has been
performed for all usages in RFC 4210 [RFC4210]. This includes the exchanged in all occurrences in RFC 4210 [RFC4210]. This includes
protection of centrally generated private keys, encryption of the protection of centrally generated private keys, encryption of
certificates, and revocation passphrases. certificates, and protection of revocation passphrases. To
properly differentiate the support of EnvelopedData instead of
EncryptedValue, the CMP version 3 is introduced in case a
transaction is supposed to use EnvelopedData.
o Adding new general message types to request CA certificates, a * Adding new general message types to request CA certificates, a
root CA update, or a certificate request template. root CA update, or a certificate request template.
o Extend the usage of polling also to p10cr messages. * Extend the usage of polling to p10cr messages.
* Delete the mandatory algorithm profile in RFC 4210 Appendix D.2
[RFC4210] and refer to CMP Algorithms
[I-D.ietf-lamps-cmp-algorithms].
< TBD: The specification of algorithm profiles seed to be moved to a < TBD: The specification of algorithm profiles seed to be moved to a
separate document. > separate document. >
2.2. New Section 4.5 - Extended Key Usage 2.2. New Section 4.5 - Extended Key Usage
The following subsection describes new extended key usages for The following subsection describes new extended key usages for
different CMP server types specified in RFC 4210 [RFC4210]. various CMP server types specified in RFC 4210 [RFC4210].
Insert this section at the end of the current Section 4. Insert this section at the end of the current Section 4.
4.5 Extended Key Usage 4.5. Extended Key Usage
The Extended Key Usage (EKU) extension indicates the purposes for The Extended Key Usage (EKU) extension indicates the purposes for
which the certified public key may be used. It therefore restricts which the certified key pair may be used. It therefore restricts the
the use of a certificate to specific applications. use of a certificate to specific applications.
A CA may want to delegate parts of their duties to other PKI
management entities. The mechanism to prove this delegation
explained in this section offers zero-touch means to check the
authorization of such delegation. Such delegation could also be
expressed by other means, e.g., explicit configuration.
To offer automatic validation means for the delegation of a role by a A CA may want to delegate parts of its duties to other PKI management
CA, the certificates used by PKI management entities for CMP message entities. The mechanism to prove this delegation explained in this
protection or signed data for central key generation MUST be issued section offers automatic way of checking the authorization of such
by the delegating CA and MUST contain the respective EKUs. This delegation. Such delegation could also be expressed by other means,
proves the authorization of this entity by the delegating CA to act e.g., explicit configuration.
as the PKI management entity as described below.
The ASN.1 to define these EKUs is: To offer automatic validation for the delegation of a role by a CA,
the certificates used for CMP message protection or signed data for
central key generation MUST be issued by the delegating CA and MUST
contain the respective EKUs. This proves the authorization of this
entity by the delegating CA to act in the given role as described
below.
id-kp OBJECT IDENTIFIER ::= The OIDs to be used for these EKUs are:
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) kp(3) }
id-kp-cmcCA OBJECT IDENTIFIER ::= { id-kp 27 } id-kp-cmcCA OBJECT IDENTIFIER ::= {
id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 } iso(1) identified-organization(3) dod(6) internet(1)
id-kp-cmKGA OBJECT IDENTIFIER ::= { id-kp 32 } security(5) mechanisms(5) pkix(7) kp(3) 27 }
id-kp-cmcRA OBJECT IDENTIFIER ::= {
iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) kp(3) 28 }
id-kp-cmKGA OBJECT IDENTIFIER ::= {
iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) kp(3) 32 }
Note: RFC 6402 section 2.10 [RFC6402] specifies OIDs for a CMC CA and Note: RFC 6402 section 2.10 [RFC6402] specifies OIDs for a CMC CA and
a CMC RA. As the functionality of a CA and RA is not specific to a CMC RA. As the functionality of a CA and RA is not specific to
whether use CMC or CMP as certificate management protocol, the same using CMC or CMP as certificate management protocol, these OIDs SHALL
OIDs SHALL be used for a CMP CA and a CMP RA. be re-used also for CMP CAs and for CMP RAs.
< TBD: The Description of the OIDs for id-kp-cmcCA and id-kp-cmcRA
needs to be extended to avoid confusion as they currently only refer
to CMC. >
The description of the PKI management entity for each of the EKUs is The description of the PKI management entity for each of the EKUs is
as follows: as follows:
CMP CA: CMP Certification Authorities are CMP endpoints on CA CMP CA: CMP Certification Authorities are CMP endpoints on CA
equipment as described in section 3.1.1.2. The key used in equipment as described in section 3.1.1.2. The private key
the context of CMP management operations, especially CMP used in the context of CMP management operations,
message protection, need not be the same key that signs the especially CMP message protection, does not need to be the
certificates. It is necessary, however, to ensure that the same as for signing certificates. It is necessary,
entity acting as CMP CA is authorized to do so. Therefore, however, to ensure that the entity acting as CMP CA is
the CMP CA MUST do one of the following, authorized to do so. Therefore, the CMP CA MUST do one of
* use the CA private key on the CMP endpoint, or the following,
* explicitly designate this authority to another entity. * use the CA private key also for the CMP endpoint, or
For automatic validation of such delegation it MUST be * explicitly designate this role to another entity.
indicated by the id-kp-cmcCA extended key usage. This
extended key usage MUST be placed into the certificate used
on the CA equipment and the CA that delegates this role MUST
issue the CMP CA certificate.
Note: Using a separate key pair for protecting CMP For automatic validation of such a delegation this MUST be
management operations at the CA decreases the number of indicated by the id-kp-cmcCA extended key usage. This
operations of the private key used to sign certificates. extended key usage MUST be placed into the certificate used
on the CA equipment and the CA that delegates this role
MUST issue the CMP CA certificate.
CMP RA: CMP Registration Authorities are CMP endpoints on RA Note: Using a separate key pair for protecting CMP
equipment as described in Section 3.1.1.3. A CMP RA is management operations at the CA decreases the number of
identified by the id-kp-cmcRA extended key usage. This operations of the private key used to sign certificates.
extended key usage is placed into RA certificates. The CA
that delegated this role is identified by the CA that issued
the CMP RA certificate.
CMP KGA: CMP Key Generation Authorities are identified by the id-kp- CMP RA: CMP Registration Authorities are CMP endpoints on RA
cmKGA extended key usage. Though the CMP KGA knows the equipment as described in Section 3.1.1.3. A CMP RA is
private key it generated on behalf of the end entity. This identified by the id-kp-cmcRA extended key usage. This
is a very sensitive service and needs specific extended key usage MUST be placed in RA certificates. The
authorization. This authorization is either with the CA CA that delegated this role is identified by the CA that
certificate itself, or indicated by placing the id-kp-cmKGA issued the CMP RA certificate.
extended key usage into the CMP RA or CMP CA certificate
used to authenticate the origin of the private key, and to
express the authorization to offer this service.
Note: In device PKIs, especially those issuing IDevID certificates, CMP KGA: CMP Key Generation Authorities are identified by the id-kp-
CA may have very long validity (including the GeneralizedTime value cmKGA extended key usage. The CMP KGA knows the private
key it generated on behalf of the end entity. This is a
very sensitive service and therefore needs specific
authorization. This authorization is either with the CA
certificate itself, or it MUST be indicated by placing the
id-kp-cmKGA extended key usage in the certificate used to
authenticate the origin of the generated private key, and
to express the authorization to offer this service.
Note: In device PKIs, especially those issuing IDevID certificates
IEEE 802.1AR Section 8.5 [IEEE.802.1AR_2018], CA certificates may
have very long validity (including the GeneralizedTime value
99991231235959Z to indicate a not well-defined expiration date as 99991231235959Z to indicate a not well-defined expiration date as
specified in IEEE 802.1AR Section 8.5 [IEEE802.1AR] and RFC 5280 specified in IEEE 802.1AR Section 8.5 [IEEE.802.1AR_2018] and
Section 4.1.2.5 [RFC5280]). Such validity periods SHOULD NOT be used RFC 5280 Section 4.1.2.5 [RFC5280]). Such validity periods SHOULD
for protection of CMP messages. Certificates for delegated CMP NOT be used for protection of CMP messages. Certificates for
message protection (CMP CA, CMP RA, CMP KGA) MUST NOT use indefinite delegated CMP message protection (CMP CA, CMP RA, CMP KGA) MUST NOT
expiration date. use indefinite expiration date.
2.3. Replace Section 5.1.3.4 - Multiple Protection 2.3. Update Section 5.1.1. - PKI Message Header
Section 5.1.1 of RFC 4210 [RFC4210] describes the PKI message header.
This document introduces the new version 3 indicating support of
EnvelopedData as specified in Section 2.6.
Replace the ASN.1 Syntax of PKIHeader and the subsequent description
of pvno with the following text:
PKIHeader ::= SEQUENCE {
pvno INTEGER { cmp1999(1), cmp2000(2),
cmp2021(3) },
sender GeneralName,
recipient GeneralName,
messageTime [0] GeneralizedTime OPTIONAL,
protectionAlg [1] AlgorithmIdentifier OPTIONAL,
senderKID [2] KeyIdentifier OPTIONAL,
recipKID [3] KeyIdentifier OPTIONAL,
transactionID [4] OCTET STRING OPTIONAL,
senderNonce [5] OCTET STRING OPTIONAL,
recipNonce [6] OCTET STRING OPTIONAL,
freeText [7] PKIFreeText OPTIONAL,
generalInfo [8] SEQUENCE SIZE (1..MAX) OF
InfoTypeAndValue OPTIONAL
}
PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String
The usage of different pvno values is described in Section 7.
2.4. Update Section 5.1.3.1. - Shared Secret Information
Section 5.1.3.1 of RFC 4210 [RFC4210] describes the MAC based
protection of a PKIMessage using the algorithm id-PasswordBasedMac.
Replace the first paragraph with the following text:
In this case, the sender and recipient share secret information with
sufficient entropy (established via out-of-band means or from a
previous PKI management operation). PKIProtection will contain a MAC
value and the protectionAlg will be the following (see also [RFC4211]
and [I-D.ietf-lamps-crmf-update-algs]):
2.5. Replace Section 5.1.3.4 - Multiple Protection
Section 5.1.3.4 of RFC 4210 [RFC4210] describes the nested message. Section 5.1.3.4 of RFC 4210 [RFC4210] describes the nested message.
This document opens the usage of nested messages also for batch This document enables using opens the usage of nested messages also
transport of PKI messages between different PKI management entities. for batch transport of PKI messages between PKI management entities
and also with mixed body types.
Replace the text of the section with the following text. Replace the text of the section with the following text.
In cases where an end entity sends a protected PKI message to an RA, 5.1.3.4. Multiple Protection
the RA MAY forward that message to a CA, adding its own protection
(which MAY be a MAC or a signature, depending on the information and
certificates shared between the RA and the CA). There are different
use cases for such multi protected messages.
o The RA confirms the validation and authorization of a message and When receiving a protected PKI message, a PKI management entity such
as an RA MAY forward that message adding its own protection (which
MAY be a MAC or a signature, depending on the information and
certificates shared between the RA and the CA). Moreover, multiple
PKI messages MAY be aggregated. There are several use cases for such
messages.
* The RA confirms having validated and authorized a message and
forwards the original message unchanged. forwards the original message unchanged.
o The RA collects several messages and forwards them in a batch. * The RA collects several messages that are to be forwarded in the
This can for instance be used to bridge an off-line connection same direction and forwards them in a batch. In communication to
between two PKI management entities. In communication to the CA the CA request messages and in communication from the CA response
request messages and in communication from the CA response or or announcement messages will be collected. This can for instance
announcement messages will be collected in such batch. be used when bridging an off-line connection between two PKI
management entities.
o The RA modifies the message(s) in some way (e.g., add or modify * The RA modifies the message(s) in some way (e.g., add or modify
particular field values or add new extensions) before forwarding particular field values or add new extensions) before forwarding
them, then it MAY create its own desired PKIBody. In case the them, then it MAY create its own desired PKIBody. In case the
changes made by the RA to PKIMessage breaks the POP, the RA MUST changes made by the RA to PKIMessage breaks the POP of a
either set the POP RAVerified or include the original PKIMessage certificate request, the RA MUST set the POP RAVerified. It MAY
from the EE in the generalInfo field of PKIHeader of the nested include the original PKIMessage from the EE in the generalInfo
message (to force the CA to check POP on the original message). field of PKIHeader of the nested message (to accommodate, for
The infoType to be used in this situation is {id-it 15} (see example, cases in which the CA wishes to check POP or other
Section 5.3.19 for the value of id-it) and the infoValue is information on the original EE message). The infoType to be used
PKIMessages (contents MUST be in the same order as the requests in in this situation is {id-it 15} (see Section 5.3.19 for the value
PKIBody). For simplicity reasons, if batching is used in of id-it) and the infoValue is PKIMessages (contents MUST be in
combination with inclusion of the original PKIMessage in the the same order as the message in PKIBody).
generalInfo field, all messages in the batch MUST be of the same
type (e.g., ir).
These use cases are accomplished by nesting the messages sent by the These use cases are accomplished by nesting the messages sent by the
PKI entity within a new PKI message. The structure used is as PKI entity within a new PKI message. The structure used is as
follows. follows.
NestedMessageContent ::= PKIMessages NestedMessageContent ::= PKIMessages
(The use of PKIMessages, a SEQUENCE OF PKIMessage, lets the RA batch
the requests of several EEs in a single new message.)
2.4. Replace Section 5.2.2. - Encrypted Values 2.6. Replace Section 5.2.2. - Encrypted Values
Section 5.2.2 of RFC 4210 [RFC4210] describes the usage of Section 5.2.2 of RFC 4210 [RFC4210] describes the use of
EncryptedValue to transport encrypted data. This document extends EncryptedValue to transport encrypted data. This document extends
the encryption of data to preferably use EnvelopedData. the encryption of data to preferably use EnvelopedData.
Replace the text of the section with the following text. Replace the text of the section with the following text.
Where encrypted data (restricted, in this specification, to be either 5.2.2. Encrypted Values
private keys, certificates, or passwords) are sent in PKI messages,
the EncryptedKey data structure is used.
EncryptedKey ::= CHOICE { Where encrypted data (in this specification, private keys,
encryptedValue EncryptedValue, -- deprecated certificates, or revocation passphrase) are sent in PKI messages, the
envelopedData [0] EnvelopedData } EncryptedKey data structure is used.
See CRMF [RFC4211] for EncryptedKey and EncryptedValue syntax and for EncryptedKey ::= CHOICE {
EnvelopedData syntax see CMS [RFC5652]. Using the EncryptedKey data encryptedValue EncryptedValue, -- deprecated
structure, the choice to either use EncryptedValue (for backward envelopedData [0] EnvelopedData }
compatibility only) or EnvelopedData is offered. The use of the
See CRMF [RFC4211] for EncryptedKey and EncryptedValue syntax and CMS
[RFC5652] for EnvelopedData syntax. Using the EncryptedKey data
structure, offers the choice to either use EncryptedValue (for
backward compatibility only) or EnvelopedData. The use of the
EncryptedValue structure has been deprecated in favor of the EncryptedValue structure has been deprecated in favor of the
EnvelopedData structure. Therefore, it is recommended to use EnvelopedData structure. Therefore, it is recommended to use
EnvelopedData. EnvelopedData.
Note: As we reuse the EncryptedKey structure defined in CRMF Note: The EncryptedKey structure defined in CRMF [RFC4211] is reused
[RFC4211], the update is backward compatible. Using the new syntax here, which makes the update is backward compatible. Using the new
with the untagged default choice EncryptedValue is bitwise compatible syntax with the untagged default choice EncryptedValue is bits-on-
with the old syntax. the-wire compatible with the old syntax.
The EncryptedKey data structure is used in CMP to either transport a To indicate support for EnvelopedData the pvno cmp2021 is introduced
private key, certificate or revocation passphrase in encrypted form. by this document. Details on the usage of different pvno values is
described in Section 7.
EnvelopedData is used as follows: The EncryptedKey data structure is used in CMP to transport a private
key, certificate, or revocation passphrase in encrypted form.
o Contains only one recepientInfo structure because the content is EnvelopedData is used as follows:
encrypted only for one recipient.
o Contains a private key in the AsymmetricKeyPackage structure as * It contains only one RecipientInfo structure because the content
defined in RFC 5958 [RFC5958] wrapped in a SignedData structure as is encrypted only for one recipient.
specified in CMS section 5 [RFC5652] signed by the Key Generation
Authority.
o Contains a certificate or revocation passphrase directly in the * It may contain a private key in the AsymmetricKeyPackage structure
encryptedContent field. as defined in RFC 5958 [RFC5958] wrapped in a SignedData structure
as specified in CMS section 5 [RFC5652] signed by the Key
Generation Authority.
Note: To ensure explicit control of the encoding of the private key * It may contain a certificate or revocation passphrase directly in
according to the specific algorithm the new key pair in an asymmetric the encryptedContent field.
key package structure as specified in [RFC5958].
The content of the EnvelopedData structure, as specified in CMS The content of the EnvelopedData structure, as specified in CMS
section 6 [RFC5652], MUST be encrypted using a newly generated section 6 [RFC5652], MUST be encrypted using a newly generated
symmetric content-encryption key. This content-encryption key MUST symmetric content-encryption key. This content-encryption key MUST
be securely provided to the recipient using one of three key be securely provided to the recipient using one of three key
management techniques. management techniques.
The choice of the key management technique to be used by the sender The choice of the key management technique to be used by the sender
depends on the credential available for the recipient: depends on the credential available at the recipient:
o Recipient's certificate that contains a key usage extension * Recipient's certificate that contains a key usage extension
asserting keyAgreement: The content-encryption key will be asserting keyAgreement: The content-encryption key will be
protected using the key agreement key management technique, as protected using the key agreement key management technique, as
specified in CMS section 6.2.2 [RFC5652]. specified in CMS section 6.2.2 [RFC5652]. This is the preferred
technique.
o Recipient's certificate that contains a key usage extension * Recipient's certificate that contains a key usage extension
asserting keyEncipherment: The content-encryption key will be asserting keyEncipherment: The content-encryption key will be
protected using the key transport key management technique, as protected using the key transport key management technique, as
specified in CMS section 6.2.1 [RFC5652]. specified in CMS section 6.2.1 [RFC5652].
o Jointly shared secret: The content-encryption key will be * A password or shared secret: The content-encryption key will be
protected using the password-based key management technique, as protected using the password-based key management technique, as
specified in CMS section 6.2.4 [RFC5652]. specified in CMS section 6.2.4 [RFC5652].
2.5. Update Section 5.3.4. - Certification Response 2.7. Update Section 5.3.4. - Certification Response
Section 5.3.4 of RFC 4210 [RFC4210] describes the Certification Section 5.3.4 of RFC 4210 [RFC4210] describes the Certification
Response. This document updates the syntax by using the parent Response. This document updates the syntax by using the parent
structure EncryptedKey instead of EncryptedValue as described in structure EncryptedKey instead of EncryptedValue as described in
Section 2.1 above. Section 2.6 above.
Replace the ASN.1 syntax of CertifiedKeyPair and CertOrEncCert with Replace the ASN.1 syntax of CertifiedKeyPair and CertOrEncCert with
the following text. the following text.
CertifiedKeyPair ::= SEQUENCE { CertifiedKeyPair ::= SEQUENCE {
certOrEncCert CertOrEncCert, certOrEncCert CertOrEncCert,
privateKey [0] EncryptedKey OPTIONAL, privateKey [0] EncryptedKey OPTIONAL,
-- see [CRMF] for comment on encoding -- see [CRMF] for comment on encoding
publicationInfo [1] PKIPublicationInfo OPTIONAL publicationInfo [1] PKIPublicationInfo OPTIONAL
} }
CertOrEncCert ::= CHOICE { CertOrEncCert ::= CHOICE {
certificate [0] Certificate, certificate [0] Certificate,
encryptedCert [1] EncryptedKey encryptedCert [1] EncryptedKey
} }
Add the following paragraphs to the end of the section. Add the following as a new paragraph right after the ASN.1 syntax.
The use of EncryptedKey is described in section 5.2.2. A p10cr message contains exactly one CertificationRequestInfo data
structure as specified in PKCS#10 [RFC2986] but no certReqId.
Therefore, the certReqId in the corresponding certification response
(cp) message MUST be set to 0.
2.6. Update Section 5.3.19.2. - Signing Key Pair Types Add the following as new paragraphs to the end of the section.
The use of EncryptedKey is described in Section 5.2.2.
Note: To indicate support for EnvelopedData the pvno cmp2021 is
introduced by this document. Details on the usage of different pvno
values is described in Section 7.
2.8. Update Section 5.3.19.2. - Signing Key Pair Types
The following section clarifies the usage of the Signing Key Pair The following section clarifies the usage of the Signing Key Pair
Types PKI general message on referencing EC curves. Types PKI general message on referencing EC curves.
Insert this note at the end of Section 5.3.19.2. Insert this note at the end of Section 5.3.19.2.
Note: In case you wish to offer several EC curves, you need to put Note: In case several EC curves are supported, several id-ecPublicKey
several id-ecPublicKey elements, one each per named curve. elements need to be given, one each per named curve.
2.7. Update Section 5.3.19.3. - Encryption/Key Agreement Key Pair Types 2.9. Update Section 5.3.19.3. - Encryption/Key Agreement Key Pair Types
The following section clarifies the usage of the Encryption/Key The following section clarifies the use of the Encryption/Key
Agreement Key Pair Types PKI general message on referencing EC Agreement Key Pair Types PKI general message on referencing EC
curves. curves.
Insert this note at the end of Section 5.3.19.3. Insert this note at the end of Section 5.3.19.3.
Note: In case you wish to offer several EC curves, you need to put Note: In case several EC curves are supported, several id-ecPublicKey
several id-ecPublicKey elements, one each per named curve. elements need to be given, one each per named curve.
2.8. Replace Section 5.3.19.9. - Revocation Passphrase 2.10. Replace Section 5.3.19.9. - Revocation Passphrase
Section 5.3.19.9 of RFC 4210 [RFC4210] describes the provisioning of Section 5.3.19.9 of RFC 4210 [RFC4210] describes the provisioning of
a revocation passphrase for authenticating a later revocation a revocation passphrase for authenticating a later revocation
request. This document updates the handling by using the parent request. This document updates the handling by using the parent
structure EncryptedKey instead of EncryptedValue to transport this structure EncryptedKey instead of EncryptedValue to transport this
information as described in Section 2.1 above. information as described in Section 2.6 above.
Replace the text of the section with the following text. Replace the text of the section with the following text.
5.3.19.9. Revocation Passphrase
This MAY be used by the EE to send a passphrase to a CA/RA for the This MAY be used by the EE to send a passphrase to a CA/RA for the
purpose of authenticating a later revocation request (in the case purpose of authenticating a later revocation request (in the case
that the appropriate signing private key is no longer available to that the appropriate signing private key is no longer available to
authenticate the request). See Appendix B for further details on the authenticate the request). See Appendix B for further details on the
use of this mechanism. use of this mechanism.
GenMsg: {id-it 12}, EncryptedKey GenMsg: {id-it 12}, EncryptedKey
GenRep: {id-it 12}, < absent > GenRep: {id-it 12}, < absent >
The use of EncryptedKey is described in section 5.2.2. The use of EncryptedKey is described in section 5.2.2.
2.9. New Section 5.3.19.14 - CA Certificates 2.11. New Section 5.3.19.14 - CA Certificates
The following subsection describes the PKI general messages using id- The following subsection describes the PKI general message using id-
it-caCerts. The use is specified in in Lightweight CMP Profile [I- it-caCerts. The use is specified in Lightweight CMP Profile [I-
D.ietf-lamps-lightweight-cmp-profile] Section 4.4. D.ietf-lamps-lightweight-cmp-profile] Section 4.4.
Insert this section after Section 5.3.19.13. Insert this section after Section 5.3.19.13.
2.3.19.14 CA Certificates 2.3.19.14 CA Certificates
This MAY be used by the client to get the latest CA intermediate and
This MAY be used by the client to get the current CA intermediate and
issuing CA certificates. issuing CA certificates.
GenMsg: {id-it 17}, < absent > GenMsg: {id-it 17}, < absent >
GenRep: {id-it 17}, SEQUENCE OF CMPCertificate | < absent > GenRep: {id-it 17}, SEQUENCE OF CMPCertificate | < absent >
2.10. New Section 5.3.19.15 - Root CA Certificates Update 2.12. New Section 5.3.19.15 - Root CA Certificate Update
The following subsection describes the PKI general messages using id- The following subsection describes the PKI general message using id-
it-rootCaKeyUpdate. The use is specified in in Lightweight CMP it-rootCaKeyUpdate. The use is specified in Lightweight CMP Profile
Profile [I-D.ietf-lamps-lightweight-cmp-profile] Section 4.4. [I-D.ietf-lamps-lightweight-cmp-profile] Section 4.4.
Insert this section after new Section 5.3.19.14. Insert this section after new Section 5.3.19.14.
5.3.19.15. Root CA Certificates Update 5.3.19.15. Root CA Certificate Update
This MAY be used by the client to get an update of an existing root This MAY be used by the client to get an update of an existing root
CA Certificate. CA Certificate. In contrast to the ckuann message it follows the
request/response model.
GenMsg: {id-it 18}, < absent > GenMsg: {id-it 18}, < absent >
GenRep: {id-it 18}, RootCaKeyUpdateContent | < absent > GenRep: {id-it 18}, RootCaKeyUpdateContent | < absent >
RootCaKeyUpdateContent ::= SEQUENCE { RootCaKeyUpdateContent ::= SEQUENCE {
newWithNew CMPCertificate newWithNew CMPCertificate
newWithOld [0] CMPCertificate OPTIONAL, newWithOld [0] CMPCertificate OPTIONAL,
oldWithNew [1] CMPCertificate OPTIONAL oldWithNew [1] CMPCertificate OPTIONAL
} }
Note: In contrast to CAKeyUpdAnnContent, this type offers omitting Note: In contrast to CAKeyUpdAnnContent, this type offers omitting
newWithOld and oldWithNew in the GenRep message, depending on the newWithOld and oldWithNew in the GenRep message, depending on the
needs of the EE. needs of the EE.
2.11. New Section 5.3.19.16 - Certificate Request Template 2.13. New Section 5.3.19.16 - Certificate Request Template
The following subsection describes the PKI general messages using id- The following subsection describes the PKI general message using id-
it-certReqTemplate. The use is specified in in Lightweight CMP it-certReqTemplate. The use is specified in Lightweight CMP Profile
Profile [I-D.ietf-lamps-lightweight-cmp-profile] Section 4.4. [I-D.ietf-lamps-lightweight-cmp-profile] Section 4.4.
Insert this section after new Section 5.3.19.15. Insert this section after new Section 5.3.19.15.
5.3.19.16. Certificate Request Template 5.3.19.16. Certificate Request Template
This MAY be used by the client to get a template with parameters for This MAY be used by the client to get a template containing
a future certificate request operation. requirements for certificate request attributes and extensions and
optionally a specification for the key pair to generate for a future
certificate request operation.
GenMsg: {id-it 19}, < absent > GenMsg: {id-it 19}, < absent >
GenRep: {id-it 19}, CertReqTemplateContent | < absent > GenRep: {id-it 19}, CertReqTemplateContent | < absent >
CertReqTemplateContent ::= SEQUENCE { CertReqTemplateContent ::= SEQUENCE {
certTemplate CertTemplate, certTemplate CertTemplate,
controls Controls OPTIONAL keySpec Controls OPTIONAL
} }
Controls ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue Controls ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
id-regCtrl-algId OBJECT IDENTIFIER ::= { id-regCtrl TBD3 } id-regCtrl-algId OBJECT IDENTIFIER ::= { iso(1)
AlgIdCtrl ::= AlgorithmIdentifier identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) pkip(5) regCtrl(1) TBD3 }
AlgIdCtrl ::= AlgorithmIdentifier
id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl TBD4 } id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { iso(1)
RsaKeyLenCtrl ::= Integer identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) pkip(5) regCtrl(1) TBD4 }
RsaKeyLenCtrl ::= Integer
< TBD: The OIDs TBD3 and TBD4 have to be registered at IANA. > < TBD: The OIDs TBD3 and TBD4 have to be registered at IANA. >
CertReqTemplateValue contains a prefilled certTemplate to be used for CertReqTemplateValue contains a prefilled certTemplate to be used for
the future certificate request. The SubjectPublicKeyInfo field in the future certificate request. The SubjectPublicKeyInfo field in
the certTemplate MUST NOT be used. In case the PKI management entity the certTemplate MUST NOT be used. In case the PKI management entity
wishes to specify supported algorithms, the controls field MUST be wishes to specify supported algorithms, the keySpec field MUST be
used. One AttributeTypeAndValue per supported algorithm MUST be used. One AttributeTypeAndValue per supported algorithm or RSA key
used. length MUST be used.
Note: The Controls ASN.1 type is defined in CRMF Section 6 [RFC4211] Note: The Controls ASN.1 type is defined in CRMF Section 6 [RFC4211]
2.12. Update Section 5.3.22 - Polling Request and Response 2.14. Update Section 5.3.22 - Polling Request and Response
Section 5.3.22 of RFC 4210 [RFC4210] describes when and how polling Section 5.3.22 of RFC 4210 [RFC4210] describes when and how polling
messages are used. This document adds the polling mechanism also to messages are used. This document adds the polling mechanism also for
outstanding p10cr transactions. outstanding responses to a p10cr.
Replace all paragraphs in front of the state machine diagram with the Replace in the first paragraph the word 'cr' by 'cr, p10cr' and add
following text. just before the state machine diagram the following text.
This pair of messages is intended to handle scenarios in which the A p10cr message contains exactly one CertificationRequestInfo data
client needs to poll the server in order to determine the status of structure as specified in PKCS#10 [RFC2986] but no certificate
an outstanding ir, cr, p10cr, or kur transaction (i.e., when the request identifier. Therefore, the certReqId MUST be set to 0 in all
"waiting" PKIStatus has been received). subsequent messages of this transaction.
PollReqContent ::= SEQUENCE OF SEQUENCE { 2.15. Update Section 7 - Version Negotiation
certReqId INTEGER }
PollRepContent ::= SEQUENCE OF SEQUENCE { Section 7 of RFC 4210 [RFC4210] describes the use of different CMP
certReqId INTEGER, protocol versions. This document describes the handling of the
checkAfter INTEGER, -- time in seconds additional CMP version cmp2021 introduced to indicate support of
reason PKIFreeText OPTIONAL } EnvelopedData.
The following clauses describe when polling messages are used, and Replace the text of the first two paragraphs with the following text.
how they are used. It is assumed that multiple certConf messages can
be sent during transactions. There will be one sent in response to
each ip, cp, or kup that contains a CertStatus for an issued
certificate.
1 In response to an ip, cp, or kup message, an EE will send a This section defines the version negotiation between client and
certConf for all issued certificates and, following the ack, a servers used to choose among cmp1999 (specified in RFC 2510
pollReq for all pending certificates. [RFC2510]), of cmp2000 (specified in RFC 4210 [RFC4210]), and cmp2021
(specified in this document). The only difference between protocol
versions cmp2021 and cmp2000 is that EnvelopedData replaces
EncryptedValue.
2 In response to a pollReq, a CA/RA will return an ip, cp, or kup if If a client does not support cmp2021 it chooses the versions for a
one or more of the pending certificates is ready; otherwise, it request as follows:
will return a pollRep.
3 If the EE receives a pollRep, it will wait for at least as long as * If the client knows the protocol version(s) supported by the
the checkAfter value before sending another pollReq. server (e.g., from a previous PKIMessage exchange or via some out-
of-band means), then it MUST send a PKIMessage with the highest
version supported by both it and the server.
4 If an ip, cp, or kup is received in response to a pollReq, then it * If the client does not know what version(s) the server supports,
will be treated in the same way as the initial response. then it MUST send a PKIMessage using the highest version it
supports.
Note: A p10cr message contains exactly one CertificationRequestInfo If a client supports cmp2021 and encrypted values are supposed to be
data structure as specified in PKCS#10 [RFC2986] but no certificate transferred in the PKI management operation the client MUST choose
request number. Therefore, the certReqId MUST be set to 0 in all the version for a request as follows:
following messages of this transaction.
2.13. Update Section 9 - IANA Considerations * If the client supports EnvelopedData, but not EncryptedValue, then
it MUST send a PKIMessage using cmp2021.
* If the client does not support EnvelopedData, but EncryptedValue,
then it MUST send a PKIMessage using cmp2000.
* If the client supports both EnvelopedData and EncryptedValues:
- If the client knows the protocol version(s) supported by the
server (e.g., from a previous PKIMessage exchange or via some
out-of-band means), then it MUST send a PKIMessage with the
highest version supported the server.
- If the client does not know what version(s) the server
supports, then it MUST send a PKIMessage using cmp2021.
2.16. Update Section 7.1.1. - Clients Talking to RFC 2510 Servers
Section 7.1.1 of RFC 4210 [RFC4210] describes the behaviour of a
client talking to a cmp1999 server. This document extends the
section to all clients with a higher version than cmp1999.
Replace the first sentence of section 7.1.1 with the following text.
If, after sending a message with a higher protocol version number
than cmp1999, a client receives an ErrorMsgContent with a version of
cmp1999, then it MUST abort the current transaction.
2.17. Update Section 9 - IANA Considerations
Section 9 of RFC 4210 [RFC4210] contains the IANA Considerations of Section 9 of RFC 4210 [RFC4210] contains the IANA Considerations of
that document. As this document defines a new and updates two that document. As this document defines one new and updates two
existing Extended Key Usages, the IANA Considerations need to be existing Extended Key Usages, the IANA Considerations need to be
updated accordingly. updated accordingly.
Add the following paragraphs between the first and second paragraph Add the following paragraphs after the third paragraph of the
of the section. section.
Within the SMI-numbers registry "SMI Security for PKIX Extended Key In the SMI-numbers registry "SMI Security for PKIX Extended Key
Purpose Identifiers (1.3.6.1.5.5.7.3)" (see Purpose Identifiers (1.3.6.1.5.5.7.3)" (see
https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi- https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi-
numbers-1.3.6.1.5.5.7.3) as defined in RFC 7299 [RFC7299] three numbers-1.3.6.1.5.5.7.3) as defined in RFC 7299 [RFC7299] three
changes have been performed. changes have been performed.
Two existing entries have been updated to also point to this Two existing entries have been updated to also point to this
document: document:
Decimal Description References +=========+=============+====================+
------- ----------- ------------------ | Decimal | Description | References |
27 id-kp-cmcCA [RFC6402][thisRFC] +=========+=============+====================+
28 id-kp-cmcRA [RFC6402][thisRFC] | 27 | id-kp-cmcCA | [RFC6402][thisRFC] |
+---------+-------------+--------------------+
| 28 | id-kp-cmcRA | [RFC6402][thisRFC] |
+---------+-------------+--------------------+
Table 1: Changes to the PKIX Extended Key
Purpose Identifiers registry
One new entry has been added: One new entry has been added:
Decimal Description References +=========+=============+============+
------- ----------- ---------- | Decimal | Description | References |
32 id-kp-cmKGA [thisRFC] +=========+=============+============+
| 32 | id-kp-cmKGA | [thisRFC] |
+---------+-------------+------------+
Within the SMI-numbers registry "SMI Security for PKIX CMP Table 2: Adition to the PKIX
Information Types (1.3.6.1.5.5.7.4)" (see Extended Key Purpose Identifiers
https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi- registry
numbers-1.3.6.1.5.5.7.4) as defined in RFC 7299 [RFC7299] three
changes have been performed.
Three new entry have been added: In the SMI-numbers registry "SMI Security for PKIX CMP Information
Types (1.3.6.1.5.5.7.4)" (see https://www.iana.org/assignments/smi-
numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.4) as defined in
RFC 7299 [RFC7299] three additions have been performed.
Decimal Description References Three new entries have been added:
------- --------------------- ----------
17 id-it-caCerts [thisRFC]
18 id-it-rootCaKeyUpdate [thisRFC]
19 id-it-certReqTemplate [thisRFC]
WWithin the SMI-numbers registry " SMI Security for PKIX CRMF +=========+=======================+============+
Registration Controls (1.3.6.1.5.5.7.5.1)" (see | Decimal | Description | References |
https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi- +=========+=======================+============+
numbers-1.3.6.1.5.5.7.5.1) as defined in RFC 7299 [RFC7299] two | 17 | id-it-caCerts | [thisRFC] |
changes have been performed. +---------+-----------------------+------------+
| 18 | id-it-rootCaKeyUpdate | [thisRFC] |
+---------+-----------------------+------------+
| 19 | id-it-certReqTemplate | [thisRFC] |
+---------+-----------------------+------------+
Two new entry have been added: Table 3: Addition to the PKIX CMP
Information Types registry
Decimal Description References In the SMI-numbers registry " SMI Security for PKIX CRMF Registration
------- -------------------- ---------- Controls (1.3.6.1.5.5.7.5.1)" (see https://www.iana.org/assignments/
TBD3 id-regCtrl-algId [thisRFC] smi-numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.5.1) as
TBD4 id-regCtrl-rsaKeyLen [thisRFC] defined in RFC 7299 [RFC7299] two additions have been performed.
2.14. Update Appendix B - The Use of Revocation Passphrase Two new entries have been added:
Appendix B of RFC 4210 [RFC4210] describes the usage of the +=========+======================+============+
revocation passphrase. As this document updates RFC 4210 [RFC4210] | Decimal | Description | References |
to utilize the parent structure EncryptedKey instead of +=========+======================+============+
EncryptedValue as described in Section 2.1 above, the description is | TBD3 | id-regCtrl-algId | [thisRFC] |
updated accordingly. +---------+----------------------+------------+
| TBD4 | id-regCtrl-rsaKeyLen | [thisRFC] |
+---------+----------------------+------------+
Table 4: Addition to the PKIX CRMF
Registration Controls registry
2.18. Update Appendix B - The Use of Revocation Passphrase
Appendix B of RFC 4210 [RFC4210] describes the use of the revocation
passphrase. As this document updates RFC 4210 [RFC4210] to utilize
the parent structure EncryptedKey instead of EncryptedValue as
described in Section 2.6 above, the description is updated
accordingly.
Replace the first bullet point of this section with the following Replace the first bullet point of this section with the following
text. text.
o The OID and value specified in Section 5.3.19.9 of RFC 4210 * The OID and value specified in Section 5.3.19.9 MAY be sent in a
[RFC4210] MAY be sent in a GenMsg message at any time, or MAY be GenMsg message at any time, or MAY be sent in the generalInfo
sent in the generalInfo field of the PKIHeader of any PKIMessage field of the PKIHeader of any PKIMessage at any time. (In
at any time. (In particular, the EncryptedKey as described in particular, the EncryptedKey structure as described in section
section 5.2.2 may be sent in the header of the certConf message 5.2.2 may be sent in the header of the certConf message that
that confirms acceptance of certificates requested in an confirms acceptance of certificates requested in an initialization
initialization request or certificate request message.) This request or certificate request message.) This conveys a
conveys a revocation passphrase chosen by the entity (i.e., for revocation passphrase chosen by the entity to the relevant CA/RA.
use of EnvelopedData this is in the decrypted bytes of For use of EnvelopedData this is in the decrypted bytes of
encryptedContent field and for use of EncryptedValue this is in encryptedContent field and for use of EncryptedValue this is in
the decrypted bytes of the encValue field) to the relevant CA/RA; the decrypted bytes of the encValue field. Furthermore, the
furthermore, the transfer is accomplished with appropriate transfer is accomplished with appropriate confidentiality
confidentiality characteristics. characteristics.
Replace the third bullet point of this section with the following Replace the third bullet point of this section with the following
text. text.
o When using EnvelopedData the localKeyId attribute as specified in * When using EnvelopedData the localKeyId attribute as specified in
RFC 2985 [RFC2985] and when using EncryptedValue the valueHint RFC 2985 [RFC2985] and when using EncryptedValue the valueHint
field MAY contain a key identifier (chosen by the entity, along field MAY contain a key identifier (chosen by the entity, along
with the passphrase itself) to assist in later retrieval of the with the passphrase itself) to assist in later retrieval of the
correct passphrase (e.g., when the revocation request is correct passphrase (e.g., when the revocation request is
constructed by the entity and received by the CA/RA). constructed by the entity and received by the CA/RA).
2.15. Update Appendix C - Request Message Behavioral Clarifications 2.19. Update Appendix C - Request Message Behavioral Clarifications
Appendix C of RFC 4210 [RFC4210] provides clarifications to the Appendix C of RFC 4210 [RFC4210] provides clarifications to the
request message behavior. As this document updates RFC 4210 request message behavior. As this document updates RFC 4210
[RFC4210] to utilize the parent structure EncryptedKey instead of [RFC4210] to utilize the parent structure EncryptedKey instead of
EncryptedValue as described in Section 2.1 above, the description is EncryptedValue as described in Section 2.6 above, the description is
updated accordingly. updated accordingly.
Replace the note coming after the ASN.1 syntax of POPOPrivKey of this Replace the comment within the ASN.1 syntax coming after the
section with the following text. definition of POPOPrivKey with the following text.
-- ********** -- **********
-- * the type of "thisMessage" is given as BIT STRING in RFC 4211 -- * the type of "thisMessage" is given as BIT STRING in RFC 4211
-- * [RFC4211]; it should be "EncryptedKey" (in accordance with -- * [RFC4211]; it should be "EncryptedKey" (in accordance with
-- * Section 5.2.2 of this specification). Therefore, this document -- * Section 5.2.2 of this specification). Therefore, this
-- * makes the behavioral clarification of specifying that the -- * document makes the behavioral clarification of specifying
-- * contents of "thisMessage" MUST be encoded either as -- * that the contents of "thisMessage" MUST be encoded either as
-- * "EnvelopedData" or "EncryptedValue" (only for backward -- * "EnvelopedData" or "EncryptedValue" (only for backward
-- * compatibility) and then wrapped in a BIT STRING. This allows -- * compatibility) and then wrapped in a BIT STRING. This
-- * the necessary conveyance and protection of the private key -- * allows the necessary conveyance and protection of the
-- * while maintaining bits-on-the-wire compatibility with RFC 4211 -- * private key while maintaining bits-on-the-wire compatibility
-- * [RFC4211]. -- * with RFC 4211 [RFC4211].
-- ********** -- **********
2.16. Update Appendix D.2. - Algorithm Use Profile 2.20. Update Appendix D.1. - General Rules for Interpretation of These
Profiles
Appendix D.2 of RFC 4210 [RFC4210] provides a list of Algorithms Appendix D.1 of RFC 4210 [RFC4210] provides general rules for
interpretation of the PKI management messages profiles specified in
Appendix D and Appendix E of RFC 4210 [RFC4210]. This document
updates a sentence regarding the new protocol version cmp2021.
Replace the last sentence of the first paragraph of the section with
the following text.
Mandatory fields are not mentioned if they have an obvious value
(e.g., in this version of these profiles, pvno is always cmp2000).
2.21. Update Appendix D.2. - Algorithm Use Profile
Appendix D.2 of RFC 4210 [RFC4210] provides a list of algorithms that
implementations must support when claiming conformance with PKI implementations must support when claiming conformance with PKI
Management Message Profiles as specified in CMP Appendix D.2 Management Message Profiles as specified in CMP Appendix D.2
[RFC4210]. [RFC4210]. This document redirects to the new algorithm profile as
specified in Appendix A.1 of CMP Algorithms
[I-D.ietf-lamps-cmp-algorithms].
Replace the text of the section with the following text. Replace the text of the section with the following text.
For specifications of algorithms identifiers and respective D.2. Algorithm Use Profile
For specifications of algorithm identifiers and respective
conventions for conforming implementations, please refer to CMP conventions for conforming implementations, please refer to CMP
Algorithms Appendix A.1 [I-D.ietf-lamps-cmp-algorithms]. Algorithms Appendix A.1 [I-D.ietf-lamps-cmp-algorithms].
2.17. Update Appendix D.4. - Initial Registration/Certification (Basic 2.22. Update Appendix D.4. - Initial Registration/Certification (Basic
Authenticated Scheme) Authenticated Scheme)
Appendix D.4 of RFC 4210 [RFC4210] provides the initial registration/ Appendix D.4 of RFC 4210 [RFC4210] provides the initial registration/
certification scheme. This scheme shall continue to use certification scheme. This scheme shall continue using
EncryptedValue for backward compatibility reasons. EncryptedValue for backward compatibility reasons.
Replace the comment after the privateKey field of Replace the comment after the privateKey field of
crc[1].certifiedKeyPair in the syntax of the Initialization Response crc[1].certifiedKeyPair in the syntax of the Initialization Response
message with the following text. message with the following text.
-- see Appendix C, Request Message Behavioral Clarifications -- see Appendix C, Request Message Behavioral Clarifications
-- for backward compatibility reasons, use EncryptedValue -- for backward compatibility reasons, use EncryptedValue
3. Updates to RFC 6712 - HTTP Transfer for the Certificate Management 3. Updates to RFC 6712 - HTTP Transfer for the Certificate Management
Protocol (CMP) Protocol (CMP)
3.1. New Section 1.1. - Changes since RFC 6712 3.1. New Section 1.1. - Changes since RFC 6712
The following subsection describes feature updates to RFC 6712 The following subsection describes feature updates to RFC 6712
[RFC6712]. They are always related to the base specification. Hence [RFC6712]. They are related to the base specification. Hence
references to the original sections in RFC 6712 [RFC6712] are used references to the original sections in RFC 6712 [RFC6712] are used
whenever possible. whenever possible.
Insert this section at the end of the current Section 1. Insert this section at the end of the current Section 1.
1.1 Changes since RFC 6712 1.1 Changes since RFC 6712
The following updates are made in draft-ietf-lamps-cmp-updates: The following updates are made in [thisRFC]:
o Add an HTTP URI discovery mechanism and extend the URI structure. * Introduce the HTTP path '/.well-known/cmp'.
* Extend the URI structure.
3.2. Replace Section 3.6. - HTTP Request-URI 3.2. Replace Section 3.6. - HTTP Request-URI
Section 3.6 of RFC 6712 [RFC6712] specifies the used HTTP URIs. This Section 3.6 of RFC 6712 [RFC6712] specifies the used HTTP URIs. This
document adds a discovery mechanism and extends the URIs. document introduces the HTTP path '/.well-known/cmp' and extends the
URIs.
Replace the text of the section with the following text. Replace the text of the section with the following text.
3.6. HTTP Request-URI
Each CMP server on a PKI management entity supporting HTTP or HTTPS Each CMP server on a PKI management entity supporting HTTP or HTTPS
transport MUST support the use of the path-prefix of '/.well-known/' transport MUST support the use of the path prefix '/.well-known/' as
as defined in RFC 8515 [RFC8515] and the registered name of 'cmp' to defined in RFC 8615 [RFC8615] and the registered name 'cmp' to ease
ease interworking in a multi-vendor environment. interworking in a multi-vendor environment.
The CMP client needs to be configured with sufficient information to The CMP client needs to be configured with sufficient information to
form the CMP server URI. This is at least the authority portion of form the CMP server URI. This is at least the authority portion of
the URI, e.g., 'www.example.com:80', or the full operational path of the URI, e.g., 'www.example.com:80', or the full operation path
the PKI management entity. Additional arbitrary label, e.g., segment of the PKI management entity. Additionally, OPTIONAL path
'profileLabel' and 'operationLabel', may be configured as a separate segments MAY be added after the registered application name as part
component or as part of the full operational path to provide further of the full operation path to provide further distinction. A path
information. The 'profileLabel' may support addressing multiple CAs segment could for example support the differentiation of specific
or certificate profiles and the 'operationLabel' may support CAs, certificate profiles, or PKI management operations. A valid
addressing PKI management operation specific endpoints. A valid full full operation path segment can look like this:
operational path can look like this:
1 http://www.example.com/.well-known/cmp
2 http://www.example.com/.well-known/cmp/operationLabel
3 http://www.example.com/.well-known/cmp/profileLabel
4 http://www.example.com/.well-known/cmp/profileLabel/operationLabel
The discovery of supported endpoints as defined above will provide
the information to the CMP client how to contact the PKI management
entity and, if available, how to request enrolment for a specific
certificate profile or revoke a certificate at a specific CA.
Querying the PKI management entity, the CMP client will get a list of
potential endpoints supported by the PKI management entity.
Performing a GET on "/.well-known/cmp" to the default port MUST
return a set of links to endpoints available from the CMP server. In
addition to the link also the expected format of the data object is
provided as content type (ct).
< TBD: It needs to be discussed if the discovery should be performed
using GET on "/.well-known/cmp" or GET on "/.well-known" only. >
The following provides an illustrative example for a PKI management
entity supporting various PKI management operations for various
certificate profiles and CAs.
Detailed message description:
REQ: GET /.well-known/cmp
RES: Content http://www.example.com/.well-known/cmp
</cmp/certprofile1/operation1>;ct=pkixcmp http://www.example.com/.well-known/cmp/operationLabel
</cmp/certprofile2/operation1>;ct=pkixcmp http://www.example.com/.well-known/cmp/profileLabel
</cmp/certprofile3/operation1>;ct=pkixcmp http://www.example.com/.well-known/cmp/profileLabel/operationLabel
</cmp/certprofile1/operation2>;ct=pkixcmp
</cmp/certprofile2/operation2>;ct=pkixcmp
</cmp/certprofile3/operation2>;ct=pkixcmp
</cmp/ca1/operation3>;ct=pkixcmp
</cmp/ca2/operation3>;ct=pkixcmp
3.3. Update Section 6. - IANA Considerations 3.3. Update Section 6. - IANA Considerations
Section 6 of RFC 6712 [RFC6712] contains the IANA Considerations of Section 6 of RFC 6712 [RFC6712] contains the IANA Considerations of
that document. As this document defines a new well-known URI, the that document. As this document defines a new well-known URI, the
IANA Considerations need to be updated accordingly. IANA Considerations need to be updated accordingly.
Add the following text between the first and second paragraph of the Add the following text between the first and second paragraph of the
section. section.
Within the well-known URI registry (see In the well-known URI registry (see https://www.iana.org/assignments/
https://www.iana.org/assignments/well-known-uris/well-known- well-known-uris/well-known-uris.xhtml#well-known-uris-1) as defined
uris.xhtml#well-known-uris-1) as defined in RFC 8515 [RFC8515] the in RFC 8615 [RFC8615] the following change has been performed.
following change has been performed.
One new name entry has been added: One new name entry has been added:
URI suffix Change controller +============+===================+
----------- ----------------- | URI suffix | Change controller |
cmp IETF +============+===================+
| cmp | IETF |
+------------+-------------------+
Table 5
4. IANA Considerations 4. IANA Considerations
This document contains an update to the IANA Consideration sections This document contains an update to the IANA Consideration sections
to be added to [RFC4210] and [RFC6712]. to be added to [RFC4210] and [RFC6712].
< TBD: This document updates the ASN.1 modules of RFC 4210 Appendix F < TBD: This document updates the ASN.1 modules of RFC 4210 Appendix F
[RFC4210] and RFC 5912 Section 9 [RFC5912]. New OIDs TBD1 and TBD2 [RFC4210] and RFC 5912 Section 9 [RFC5912]. New OIDs TBD1 and TBD2
need to be registered to identify the updates ASN.1 modules. > need to be registered to identify the updates ASN.1 modules. >
< TBD: New OIDs TBD3 (id-regCtrl-algId) and TBD4 (id-regCtrl- < TBD: New OIDs TBD3 (id-regCtrl-algId) and TBD4 (id-regCtrl-
rsaKeyLen) need to be registered. > rsaKeyLen) need to be registered. >
< TBD: The existing description and information of id-kp-cmcRA and < TBD: The existing description and information of id-kp-cmcRA and
id-kp-cmcCA need to be updated to reflect their extended usage. > id-kp-cmcCA need to be updated to reflect their extended usage. >
5. Security Considerations 5. Security Considerations
No changes are made to the existing security considerations of No changes are made to the existing security considerations of
RFC 4210 [RFC4210] and RFC 6712 [RFC6712]. RFC 4210 [RFC4210] and RFC 6712 [RFC6712].
skipping to change at page 19, line 18 skipping to change at page 22, line 23
id-kp-cmcCA need to be updated to reflect their extended usage. > id-kp-cmcCA need to be updated to reflect their extended usage. >
5. Security Considerations 5. Security Considerations
No changes are made to the existing security considerations of No changes are made to the existing security considerations of
RFC 4210 [RFC4210] and RFC 6712 [RFC6712]. RFC 4210 [RFC4210] and RFC 6712 [RFC6712].
6. Acknowledgements 6. Acknowledgements
Special thank goes to Jim Schaad for his guidance and the inspiration Special thank goes to Jim Schaad for his guidance and the inspiration
on structuring and writing this document I got from [RFC6402] that on structuring and writing this document we got from [RFC6402] which
updates CMC. Special thank also goes also to Russ Housley and Tomas updates CMC. Special thank also goes also to Russ Housley and Tomas
Gustavsson for reviewing and providing valuable suggestions on the Gustavsson for reviewing and providing valuable suggestions on
approvement of this document. improving this document.
I also like to thank all reviewers of this document for their We also thank all reviewers of this document for their valuable
valuable feedback. feedback.
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-lamps-cmp-algorithms] [I-D.ietf-lamps-cmp-algorithms]
Brockhaus, H., "CMP Algorithms", draft-ietf-lamps-cmp- Brockhaus, H., Aschauer, H., Ounsworth, M., and S. Mister,
algorithms-00 (work in progress), October 2020. "CMP Algorithms", Work in Progress, Internet-Draft, draft-
ietf-lamps-cmp-algorithms-02, 20 January 2021,
<https://tools.ietf.org/html/draft-ietf-lamps-cmp-
algorithms-02>.
[I-D.ietf-lamps-crmf-update-algs]
Housley, R., "Algorithm Requirements Update to the
Internet X.509 Public Key Infrastructure Certificate
Request Message Format (CRMF)", Work in Progress,
Internet-Draft, draft-ietf-lamps-crmf-update-algs-02, 21
December 2020, <https://tools.ietf.org/html/draft-ietf-
lamps-crmf-update-algs-02>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2510] Adams, C. and S. Farrell, "Internet X.509 Public Key
Infrastructure Certificate Management Protocols",
RFC 2510, DOI 10.17487/RFC2510, March 1999,
<https://www.rfc-editor.org/info/rfc2510>.
[RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object
Classes and Attribute Types Version 2.0", RFC 2985, Classes and Attribute Types Version 2.0", RFC 2985,
DOI 10.17487/RFC2985, November 2000, DOI 10.17487/RFC2985, November 2000,
<https://www.rfc-editor.org/info/rfc2985>. <https://www.rfc-editor.org/info/rfc2985>.
[RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification
Request Syntax Specification Version 1.7", RFC 2986, Request Syntax Specification Version 1.7", RFC 2986,
DOI 10.17487/RFC2986, November 2000, DOI 10.17487/RFC2986, November 2000,
<https://www.rfc-editor.org/info/rfc2986>. <https://www.rfc-editor.org/info/rfc2986>.
skipping to change at page 21, line 5 skipping to change at page 24, line 27
<https://www.rfc-editor.org/info/rfc6712>. <https://www.rfc-editor.org/info/rfc6712>.
[RFC7299] Housley, R., "Object Identifier Registry for the PKIX [RFC7299] Housley, R., "Object Identifier Registry for the PKIX
Working Group", RFC 7299, DOI 10.17487/RFC7299, July 2014, Working Group", RFC 7299, DOI 10.17487/RFC7299, July 2014,
<https://www.rfc-editor.org/info/rfc7299>. <https://www.rfc-editor.org/info/rfc7299>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8515] Jethanandani, M. and M. Reina Ortega, "URN Namespace for [RFC8615] Nottingham, M., "Well-Known Uniform Resource Identifiers
ETSI Documents", RFC 8515, DOI 10.17487/RFC8515, February (URIs)", RFC 8615, DOI 10.17487/RFC8615, May 2019,
2019, <https://www.rfc-editor.org/info/rfc8515>. <https://www.rfc-editor.org/info/rfc8615>.
7.2. Informative References 7.2. Informative References
[I-D.ietf-lamps-lightweight-cmp-profile] [I-D.ietf-lamps-lightweight-cmp-profile]
Brockhaus, H., Fries, S., and D. Oheimb, "Lightweight CMP Brockhaus, H., Fries, S., and D. V. Oheimb, "Lightweight
Profile", draft-ietf-lamps-lightweight-cmp-profile-03 CMP Profile", Work in Progress, Internet-Draft, draft-
(work in progress), October 2020. ietf-lamps-lightweight-cmp-profile-04, 2 November 2020,
<https://tools.ietf.org/html/draft-ietf-lamps-lightweight-
cmp-profile-04>.
[IEEE802.1AR] [IEEE.802.1AR_2018]
IEEE, "802.1AR Secure Device Identifier", June 2018, IEEE, "IEEE Standard for Local and metropolitan area
<http://standards.ieee.org/findstds/standard/802.1AR- networks - Secure Device Identity", IEEE 802.1AR-2018,
2009.html>. DOI 10.1109/IEEESTD.2018.8423794, 2 August 2018,
<https://ieeexplore.ieee.org/document/8423794>.
Appendix A. ASN.1 Modules Appendix A. ASN.1 Modules
A.1. 1988 ASN.1 Module A.1. 1988 ASN.1 Module
This section contains the updated ASN.1 module for [RFC4210]. This This section contains the updated ASN.1 module for [RFC4210]. This
module replaces the module in Appendix F of that document. Although module replaces the module in Appendix F of that document. Although
a 2002 ASN.1 module is provided, this remains the normative module as a 2002 ASN.1 module is provided, this 1988 ASN.1 module remains the
per the policy of the PKIX working group. normative module as per the policy of the PKIX working group.
PKIXCMP {iso(1) identified-organization(3) PKIXCMP {iso(1) identified-organization(3)
dod(6) internet(1) security(5) mechanisms(5) pkix(7) dod(6) internet(1) security(5) mechanisms(5) pkix(7)
id-mod(0) id-mod-cmp2020-88(TBD1)} id-mod(0) id-mod-cmp2021-88(TBD1)}
DEFINITIONS EXPLICIT TAGS ::= DEFINITIONS EXPLICIT TAGS ::=
BEGIN BEGIN
-- EXPORTS ALL -- -- EXPORTS ALL --
IMPORTS IMPORTS
Certificate, CertificateList, Extensions, AlgorithmIdentifier, Certificate, CertificateList, Extensions, AlgorithmIdentifier,
skipping to change at page 23, line 21 skipping to change at page 27, line 4
PKIMessage ::= SEQUENCE { PKIMessage ::= SEQUENCE {
header PKIHeader, header PKIHeader,
body PKIBody, body PKIBody,
protection [0] PKIProtection OPTIONAL, protection [0] PKIProtection OPTIONAL,
extraCerts [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate extraCerts [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
OPTIONAL OPTIONAL
} }
PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage
PKIHeader ::= SEQUENCE { PKIHeader ::= SEQUENCE {
pvno INTEGER { cmp1999(1), cmp2000(2) }, pvno INTEGER { cmp1999(1), cmp2000(2),
cmp2021(3) },
sender GeneralName, sender GeneralName,
-- identifies the sender -- identifies the sender
recipient GeneralName, recipient GeneralName,
-- identifies the intended recipient -- identifies the intended recipient
messageTime [0] GeneralizedTime OPTIONAL, messageTime [0] GeneralizedTime OPTIONAL,
-- time of production of this message (used when sender -- time of production of this message (used when sender
-- believes that the transport will be "suitable"; i.e., -- believes that the transport will be "suitable"; i.e.,
-- that the time will still be meaningful upon receipt) -- that the time will still be meaningful upon receipt)
protectionAlg [1] AlgorithmIdentifier OPTIONAL, protectionAlg [1] AlgorithmIdentifier OPTIONAL,
-- algorithm used for calculation of protection bits -- algorithm used for calculation of protection bits
skipping to change at page 28, line 38 skipping to change at page 32, line 22
CertRepMessage ::= SEQUENCE { CertRepMessage ::= SEQUENCE {
caPubs [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate caPubs [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
OPTIONAL, OPTIONAL,
response SEQUENCE OF CertResponse response SEQUENCE OF CertResponse
} }
CertResponse ::= SEQUENCE { CertResponse ::= SEQUENCE {
certReqId INTEGER, certReqId INTEGER,
-- to match this response with corresponding request (a value -- to match this response with corresponding request (a value
-- of -1 is to be used if certReqId is not specified in the -- of 0 is to be used if certReqId is not specified in the
-- corresponding request) -- corresponding request, which can only be a p10cr)
status PKIStatusInfo, status PKIStatusInfo,
certifiedKeyPair CertifiedKeyPair OPTIONAL, certifiedKeyPair CertifiedKeyPair OPTIONAL,
rspInfo OCTET STRING OPTIONAL rspInfo OCTET STRING OPTIONAL
-- analogous to the id-regInfo-utf8Pairs string defined -- analogous to the id-regInfo-utf8Pairs string defined
-- for regInfo in CertReqMsg [CRMF] -- for regInfo in CertReqMsg [CRMF]
} }
CertifiedKeyPair ::= SEQUENCE { CertifiedKeyPair ::= SEQUENCE {
certOrEncCert CertOrEncCert, certOrEncCert CertOrEncCert,
privateKey [0] EncryptedKey OPTIONAL, privateKey [0] EncryptedKey OPTIONAL,
skipping to change at page 31, line 8 skipping to change at page 34, line 39
-- signed with the new private root CA key -- signed with the new private root CA key
} }
-- Added in CMP Updates [thisRFC] -- Added in CMP Updates [thisRFC]
CertReqTemplateContent ::= SEQUENCE { CertReqTemplateContent ::= SEQUENCE {
certTemplate CertTemplate, certTemplate CertTemplate,
-- prefilled certTemplate structure elements -- prefilled certTemplate structure elements
-- The SubjectPublicKeyInfo field in the certTemplate MUST NOT -- The SubjectPublicKeyInfo field in the certTemplate MUST NOT
-- be used. -- be used.
controls Controls OPTIONAL keySpec Controls OPTIONAL
-- MAY be used to specify supported algorithms. -- MAY be used to specify supported algorithms.
-- Controls ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue -- Controls ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
-- as specified in CRMF (RFC4211) -- as specified in CRMF (RFC4211)
} }
id-regCtrl-algId OBJECT IDENTIFIER ::= { id-regCtrl TBD3 } id-regCtrl-algId OBJECT IDENTIFIER ::= { id-regCtrl TBD3 }
AlgIdCtrl ::= AlgorithmIdentifier AlgIdCtrl ::= AlgorithmIdentifier
-- SHALL be used to specify suported algorithms other than RSA -- SHALL be used to specify suported algorithms other than RSA
id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl TBD4 } id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl TBD4 }
skipping to change at page 33, line 41 skipping to change at page 37, line 22
-- id-kp-cmcCA OBJECT IDENTIFIER ::= { id-kp 27 } -- id-kp-cmcCA OBJECT IDENTIFIER ::= { id-kp 27 }
-- id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 } -- id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 }
id-kp-cmKGA OBJECT IDENTIFIER ::= { id-kp 32 } id-kp-cmKGA OBJECT IDENTIFIER ::= { id-kp 32 }
END -- of CMP module END -- of CMP module
A.2. 2002 ASN.1 Module A.2. 2002 ASN.1 Module
This section contains the updated 2002 ASN.1 module for [RFC5912]. This section contains the updated 2002 ASN.1 module for [RFC5912].
This module replaces the module in Section 9 of that document. The This module replaces the module in Section 9 of that document. The
module contains those changes that were done to update to 2002 ASN.1 module contains those changes to the normative ASN.1 module from
standard done in [RFC5912] as well as changes made for this document. RFC4210 Appendix F [RFC4210] that were to update to 2002 ASN.1
standard done in [RFC5912] as well as changes made in this document.
< TBD: Dose this document then also updates [RFC5912]? >
PKIXCMP-2009 PKIXCMP-2009
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-cmp2020-02(TBD2) } id-mod-cmp2021-02(TBD2) }
DEFINITIONS EXPLICIT TAGS ::= DEFINITIONS EXPLICIT TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
AttributeSet{}, Extensions{}, EXTENSION, ATTRIBUTE AttributeSet{}, Extensions{}, EXTENSION, ATTRIBUTE
FROM PKIX-CommonTypes-2009 FROM PKIX-CommonTypes-2009
{iso(1) identified-organization(3) dod(6) internet(1) security(5) {iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57)} mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57)}
AlgorithmIdentifier{}, SIGNATURE-ALGORITHM, ALGORITHM, AlgorithmIdentifier{}, SIGNATURE-ALGORITHM, ALGORITHM,
DIGEST-ALGORITHM, MAC-ALGORITHM DIGEST-ALGORITHM, MAC-ALGORITHM
FROM AlgorithmInformation-2009 FROM AlgorithmInformation-2009
{iso(1) identified-organization(3) dod(6) internet(1) security(5) {iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) mechanisms(5) pkix(7) id-mod(0)
skipping to change at page 35, line 43 skipping to change at page 39, line 25
PKIMessage ::= SEQUENCE { PKIMessage ::= SEQUENCE {
header PKIHeader, header PKIHeader,
body PKIBody, body PKIBody,
protection [0] PKIProtection OPTIONAL, protection [0] PKIProtection OPTIONAL,
extraCerts [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate extraCerts [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
OPTIONAL } OPTIONAL }
PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage
PKIHeader ::= SEQUENCE { PKIHeader ::= SEQUENCE {
pvno INTEGER { cmp1999(1), cmp2000(2) }, pvno INTEGER { cmp1999(1), cmp2000(2),
cmp2012(3) },
sender GeneralName, sender GeneralName,
-- identifies the sender -- identifies the sender
recipient GeneralName, recipient GeneralName,
-- identifies the intended recipient -- identifies the intended recipient
messageTime [0] GeneralizedTime OPTIONAL, messageTime [0] GeneralizedTime OPTIONAL,
-- time of production of this message (used when sender -- time of production of this message (used when sender
-- believes that the transport will be "suitable"; i.e., -- believes that the transport will be "suitable"; i.e.,
-- that the time will still be meaningful upon receipt) -- that the time will still be meaningful upon receipt)
protectionAlg [1] AlgorithmIdentifier{ALGORITHM, {...}} protectionAlg [1] AlgorithmIdentifier{ALGORITHM, {...}}
OPTIONAL, OPTIONAL,
skipping to change at page 41, line 10 skipping to change at page 44, line 43
-- corresponding Challenge. -- corresponding Challenge.
CertRepMessage ::= SEQUENCE { CertRepMessage ::= SEQUENCE {
caPubs [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate caPubs [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
OPTIONAL, OPTIONAL,
response SEQUENCE OF CertResponse } response SEQUENCE OF CertResponse }
CertResponse ::= SEQUENCE { CertResponse ::= SEQUENCE {
certReqId INTEGER, certReqId INTEGER,
-- to match this response with the corresponding request (a value -- to match this response with the corresponding request (a value
-- of -1 is to be used if certReqId is not specified in the -- of 0 is to be used if certReqId is not specified in the
-- corresponding request) -- corresponding request, which can only be a p10cr)
status PKIStatusInfo, status PKIStatusInfo,
certifiedKeyPair CertifiedKeyPair OPTIONAL, certifiedKeyPair CertifiedKeyPair OPTIONAL,
rspInfo OCTET STRING OPTIONAL rspInfo OCTET STRING OPTIONAL
-- analogous to the id-regInfo-utf8Pairs string defined -- analogous to the id-regInfo-utf8Pairs string defined
-- for regInfo in CertReqMsg [RFC4211] -- for regInfo in CertReqMsg [RFC4211]
} }
CertifiedKeyPair ::= SEQUENCE { CertifiedKeyPair ::= SEQUENCE {
certOrEncCert CertOrEncCert, certOrEncCert CertOrEncCert,
privateKey [0] EncryptedKey OPTIONAL, privateKey [0] EncryptedKey OPTIONAL,
skipping to change at page 43, line 15 skipping to change at page 46, line 46
-- signed with the new private root CA key -- signed with the new private root CA key
} }
-- Added in CMP Updates [thisRFC] -- Added in CMP Updates [thisRFC]
CertReqTemplateContent ::= SEQUENCE { CertReqTemplateContent ::= SEQUENCE {
certTemplate CertTemplate, certTemplate CertTemplate,
-- prefilled certTemplate structure elements -- prefilled certTemplate structure elements
-- The SubjectPublicKeyInfo field in the certTemplate MUST NOT -- The SubjectPublicKeyInfo field in the certTemplate MUST NOT
-- be used. -- be used.
controls Controls OPTIONAL keySpec Controls OPTIONAL
-- MAY be used to specify supported algorithms. -- MAY be used to specify supported algorithms.
-- Controls ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue -- Controls ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
-- as specified in CRMF (RFC4211) -- as specified in CRMF (RFC4211)
} }
id-regCtrl-algId OBJECT IDENTIFIER ::= { id-regCtrl TBD3 } id-regCtrl-algId OBJECT IDENTIFIER ::= { id-regCtrl TBD3 }
AlgIdCtrl ::= AlgorithmIdentifier AlgIdCtrl ::= AlgorithmIdentifier
-- SHALL be used to specify suported algorithms other than RSA -- SHALL be used to specify suported algorithms other than RSA
id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl TBD4 } id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl TBD4 }
skipping to change at page 46, line 17 skipping to change at page 49, line 48
-- id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 } -- id-kp-cmcRA OBJECT IDENTIFIER ::= { id-kp 28 }
id-kp-cmKGA OBJECT IDENTIFIER ::= { id-kp 32 } id-kp-cmKGA OBJECT IDENTIFIER ::= { id-kp 32 }
END END
Appendix B. History of changes Appendix B. History of changes
Note: This appendix will be deleted in the final version of the Note: This appendix will be deleted in the final version of the
document. document.
From version 06 -> 07:
* Added David von Oheimb as co-author
* Changed to XML V3
* Added Section 2.3 to enable a CMP protocol version number 3 in the
PKIHeader for cases where EnvelopedData is to be used (see thread
"Mail regarding draft-ietf-lamps-cmp-updates").
* Added Section 2.4 to refer to [I-D.ietf-lamps-crmf-update-algs]
for the update of id-PasswordBasedMac for PKI message protection
using passwords or shared secrets.
* Updated Section 2.6 to introduce the protocol version number 3 to
properly indicate support of EnvelopedData instead of
EncryptedValue in case a transaction requires use of EnvelopedData
(see thread "Mail regarding draft-ietf-lamps-cmp-updates").
* Update Section 2.14 to make the minimal changes to the respective
section in CMP more explicit.
* Added Sections 2.15 and 2.16 to address the new cmp2021 protocol
version in Section 7 Version Negotiation.
* Updated Section 2.17 to add new OIDs for id-regCtrl-algId and id-
regCtrl-rsaKeyLen for registration at IANA.
* Added Section 2.20 to update the general rules of interpretation
in Appendix D.1 regarding the new cmp2021 version.
* Added Section 2.21 to update the Algorithm Use Profile in
Appendix D.2 with the reference to the new CMP Algorithms document
as decided at IETF 108.
* Updates Section 3.1 to delete the description of a discovery
mechanism as decided at IETF 108.
* Various changes and corrections in wording.
From version 05 -> 06: From version 05 -> 06:
o Added the update of Appendix D.2 with the reference to the new CMP * Added the update of Appendix D.2 with the reference to the new CMP
Algorithms document as decided in IETF 108 Algorithms document as decided in IETF 108
* Updated the IANA considerations to register new OIDs for id-
o Updated the IANA considerations to register new OIDs for id-
regCtrl-algId and d-regCtrl-rsaKeyLen. regCtrl-algId and d-regCtrl-rsaKeyLen.
* Minor changes and corrections
o Minor changes and corrections
From version 04 -> 05: From version 04 -> 05:
o Added Section 2.6 and Section 2.7 to clarify the usage of these * Added Section 2.8 and Section 2.9 to clarify the usage of these
general messages types with EC curves (see thread general messages types with EC curves (see thread
"AlgorithmIdentifier parameters NULL value - Re: InfoTypeAndValue "AlgorithmIdentifier parameters NULL value - Re: InfoTypeAndValue
in CMP headers") in CMP headers")
* Split former section 2.7 on adding 'CA Certificates', 'Root CA
o Split former section 2.7 on adding 'CA Certificates', 'Root CA
Certificates Update', and 'Certificate Request Template' in three Certificates Update', and 'Certificate Request Template' in three
separate sections for easier readability separate sections for easier readability
* Changed in Section 2.12 the ASN.1 syntax of CertReqTemplateValue
o Changed in Section 2.10 the ASN.1 syntax of CertReqTemplateValue
from using reaKeyLen to usage of controls as specified in CRMF from using reaKeyLen to usage of controls as specified in CRMF
Section 6 [RFC4211] (see thread "dtaft-ietf-lamps-cmp-updates and Section 6 [RFC4211] (see thread "dtaft-ietf-lamps-cmp-updates and
rsaKeyLen") rsaKeyLen")
o Updated the IANA considerations in Section 2.13 to introduce new * Updated the IANA considerations in Section 2.17 to introduce new
OID for id-regCtrl-algId and id-regCtrl-rsaKeyLen (see thread OID for id-regCtrl-algId and id-regCtrl-rsaKeyLen (see thread
"dtaft-ietf-lamps-cmp-updates and rsaKeyLen") "dtaft-ietf-lamps-cmp-updates and rsaKeyLen")
* Updated the IANA Considerations in and the Appendixes to introduce
o Updated the IANA Considerations in and the Appendixes to introduce
new OID for the updates ASN.1 modules (see thread "I-D Action: new OID for the updates ASN.1 modules (see thread "I-D Action:
draft-ietf-lamps-cmp-updates-04.txt") draft-ietf-lamps-cmp-updates-04.txt")
* Removed EncryptedValue from and added Controls to the list of
o Removed EncryptedValue from and added Controls to the list of
types imported from CRMF [RFC4211] in ASN.1 modules (see thread types imported from CRMF [RFC4211] in ASN.1 modules (see thread
"draft-ietf-lamps-cmp-updates and the ASN.1 modules") "draft-ietf-lamps-cmp-updates and the ASN.1 modules")
* Moved declaration of Rand out of the comment in ASN.1 modules (see
o Moved declaration of Rand out of the comment in ASN.1 modules (see
thread "draft-ietf-lamps-cmp-updates and the ASN.1 modules") thread "draft-ietf-lamps-cmp-updates and the ASN.1 modules")
* Minor changes and corrections
o Minor changes and corrections
From version 03 -> 04: From version 03 -> 04:
o Added Section 2.7 to introduce three new id-it IDs for uses in * Added Section 2.7 to introduce three new id-it IDs for uses in
general messages as discussed (see thread "draft-ietf-lamps-cmp- general messages as discussed (see thread "draft-ietf-lamps-cmp-
updates add section to introduce id-it-caCerts, id-it- updates add section to introduce id-it-caCerts, id-it-
rootCaKeyUpdate, and id-it-certReqTemplate") rootCaKeyUpdate, and id-it-certReqTemplate")
* Added the new id-it IDs and the /.well-known/cmp to the IANA
o Added the new id-it IDs and the /.well-known/cmp to the IANA
Considerations of [RFC4210] in Section 2.9 Considerations of [RFC4210] in Section 2.9
* Updated the IANA Considerations of [RFC4210] in Section 2.18
o Updated the IANA Considerations of [RFC4210] in Section 2.14 * Some changes in wording on Section 3 due to review comments from
o Some changes in wording on Section 3 due to review comments from
Martin Peylo Martin Peylo
From version 02 -> 03: From version 02 -> 03:
o Added a ToDo on aligning with the CMP Algorithms draft that will * Added a ToDo on aligning with the CMP Algorithms draft that will
be set up as decided in IETF 108 be set up as decided in IETF 108
* Updated section on Encrypted Values in Section 2.6 to add the
o Updated section on Encrypted Values in Section 2.4 to add the
AsymmetricKey Package structure to transport a newly generated AsymmetricKey Package structure to transport a newly generated
private key as decided in IETF 108 private key as decided in IETF 108
* Updated the IANA Considerations of [RFC4210] in Section 2.18
o Updated the IANA Considerations of [RFC4210] in Section 2.14 * Added the pre-registered OID in Section 2.18 and the ASN.1 module
* Added Section 3 to document the changes to RFC 6712 [RFC6712]
o Added the pre-registered OID in Section 2.14 and the ASN.1 module
o Added Section 3 to document the changes to RFC 6712 [RFC6712]
regarding URI discovery and using the path-prefix of '/.well- regarding URI discovery and using the path-prefix of '/.well-
known/' as discussed in IETF 108 known/' as discussed in IETF 108
* Updated the IANA Considerations section
o Updated the IANA Considerations section * Added a complete updated ASN.1 module in 1988 syntax to update
o Added a complete updated ASN.1 module in 1988 syntax to update
Appendix F of [RFC4210] and a complete updated ASN.1 module in Appendix F of [RFC4210] and a complete updated ASN.1 module in
2002 syntax to update Section 9 of [RFC5912] 2002 syntax to update Section 9 of [RFC5912]
* Minor changes in wording
o Minor changes in wording
From version 01 -> 02: From version 01 -> 02:
o Updated section on EKU OIDs in Section 2.2 as decided in IETF 107 * Updated section on EKU OIDs in Section 2.2 as decided in IETF 107
* Changed from symmetric key-encryption to password-based key
o Changed from symmetric key-encryption to password-based key management technique in Section 2.6 as discussed with Russ and Jim
management technique in Section 2.4 as discussed with Russ and Jim
on the mailing list on the mailing list
* Defined the attribute containing the key identifier for the
o Defined the attribute containing the key identifier for the revocation passphrase in Section 2.18
revocation passphrase in Section 2.14 * Moved the change history to the Appendix
o Moved the change history to the Appendix
From version 00 -> 01: From version 00 -> 01:
o Minor changes in wording * Minor changes in wording
From draft-brockhaus-lamps-cmp-updates-03 -> draft-ietf-lamps-cmp- From draft-brockhaus-lamps-cmp-updates-03 -> draft-ietf-lamps-cmp-
updates-00: updates-00:
o Changes required to reflect WG adoption * Changes required to reflect WG adoption
From version 02 -> 03: From version 02 -> 03:
o Added some clarification in Section 2.1 * Added some clarification in Section 2.1
From version 01 -> 02: From version 01 -> 02:
o Added clarification to section on multiple protection * Added clarification to section on multiple protection
* Added clarification on new EKUs after some exchange with Tomas
o Added clarification on new EKUs after some exchange with Tomas
Gustavsson Gustavsson
* Reused OIDs from RFC 6402 [RFC6402] as suggested by Sean Turner at
o Reused OIDs from RFC 6402 [RFC6402] as suggested by Sean Turner at
IETF 106 IETF 106
* Added clarification on the field containing the key identifier for
o Added clarification on the field containing the key identifier for
a revocation passphrase a revocation passphrase
* Minor changes in wording
o Minor changes in wording
From version 00 -> 01: From version 00 -> 01:
o Added a section describing the new extended key usages * Added a section describing the new extended key usages
* Completed the section on changes to the specification of encrypted
o Completed the section on changes to the specification of encrypted
values values
* Added a section on clarification to Appendix D.4
o Added a section on clarification to Appendix D.4 * Minor generalization in RFC 4210 [RFC4210] Sections 5.1.3.4 and
o Minor generalization in RFC 4210 [RFC4210] Sections 5.1.3.4 and
5.3.22 5.3.22
* Minor changes in wording
o Minor changes in wording Authors' Addresses
Author's Address
Hendrik Brockhaus Hendrik Brockhaus
Siemens AG Siemens AG
Email: hendrik.brockhaus@siemens.com Email: hendrik.brockhaus@siemens.com
David von Oheimb
Siemens AG
Email: david.von.oheimb@siemens.com
 End of changes. 205 change blocks. 
559 lines changed or deleted 704 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/