draft-ietf-lamps-cmp-updates-13.txt   draft-ietf-lamps-cmp-updates-14.txt 
LAMPS Working Group H. Brockhaus, Ed. LAMPS Working Group H. Brockhaus, Ed.
Internet-Draft D. von Oheimb Internet-Draft D. von Oheimb
Updates: 4210, 5912, 6712 (if approved) Siemens Updates: 4210, 5912, 6712 (if approved) Siemens
Intended status: Standards Track J. Gray Intended status: Standards Track J. Gray
Expires: 28 April 2022 Entrust Expires: 23 May 2022 Entrust
25 October 2021 19 November 2021
Certificate Management Protocol (CMP) Updates Certificate Management Protocol (CMP) Updates
draft-ietf-lamps-cmp-updates-13 draft-ietf-lamps-cmp-updates-14
Abstract Abstract
This document contains a set of updates to the syntax and transfer of This document contains a set of updates to the syntax and transfer of
Certificate Management Protocol (CMP) version 2. This document Certificate Management Protocol (CMP) version 2. This document
updates RFC 4210, RFC 5912, and RFC 6712. updates RFC 4210, RFC 5912, and RFC 6712.
The aspects of CMP updated in this document are using EnvelopedData The aspects of CMP updated in this document are using EnvelopedData
instead of EncryptedValue, clarifying the handling of p10cr messages, instead of EncryptedValue, clarifying the handling of p10cr messages,
improving the crypto agility, as well as adding new general message improving the crypto agility, as well as adding new general message
skipping to change at page 1, line 49 skipping to change at page 1, line 49
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 28 April 2022. This Internet-Draft will expire on 23 May 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 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 (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text extracted from this document must include Revised BSD License text as
as described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Convention and Terminology . . . . . . . . . . . . . . . 4 1.1. Convention and Terminology . . . . . . . . . . . . . . . 4
2. Updates to RFC 4210 - Certificate Management Protocol 2. Updates to RFC 4210 - Certificate Management Protocol
(CMP) . . . . . . . . . . . . . . . . . . . . . . . . . . 4 (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 . . . . . . . . . . 5 2.2. New Section 4.5 - Extended Key Usage . . . . . . . . . . 5
2.3. Update Section 5.1.1. - PKI Message Header . . . . . . . 7 2.3. Update Section 5.1.1. - PKI Message Header . . . . . . . 7
2.4. New Section 5.1.1.4. - CertProfile . . . . . . . . . . . 7 2.4. New Section 5.1.1.3. - CertProfile . . . . . . . . . . . 7
2.5. Update Section 5.1.3.1. - Shared Secret Information . . . 8 2.5. Update Section 5.1.3.1. - Shared Secret Information . . . 8
2.6. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 8 2.6. Replace Section 5.1.3.4 - Multiple Protection . . . . . . 8
2.7. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 9 2.7. Replace Section 5.2.2. - Encrypted Values . . . . . . . . 9
2.8. Update Section 5.3.4. - Certification Response . . . . . 11 2.8. Update Section 5.3.4. - Certification Response . . . . . 11
2.9. Update Section 5.3.18. - Certificate Confirmation 2.9. Update Section 5.3.18. - Certificate Confirmation
Content . . . . . . . . . . . . . . . . . . . . . . . . 12 Content . . . . . . . . . . . . . . . . . . . . . . . . 12
2.10. Update Section 5.3.19.2. - Signing Key Pair Types . . . . 13 2.10. Update Section 5.3.19.2. - Signing Key Pair Types . . . . 13
2.11. Update Section 5.3.19.3. - Encryption/Key Agreement Key 2.11. Update Section 5.3.19.3. - Encryption/Key Agreement Key
Pair Types . . . . . . . . . . . . . . . . . . . . . . . 13 Pair Types . . . . . . . . . . . . . . . . . . . . . . . 13
2.12. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 13 2.12. Replace Section 5.3.19.9. - Revocation Passphrase . . . . 13
2.13. New Section 5.3.19.14 - CA Certificates . . . . . . . . . 14 2.13. New Section 5.3.19.14 - CA Certificates . . . . . . . . . 14
2.14. New Section 5.3.19.15 - Root CA Certificate Update . . . 14 2.14. New Section 5.3.19.15 - Root CA Certificate Update . . . 14
2.15. New Section 5.3.19.16 - Certificate Request Template . . 15 2.15. New Section 5.3.19.16 - Certificate Request Template . . 15
2.16. New Section 5.3.19.17 - CRL update retrieval . . . . . . 17 2.16. New Section 5.3.19.17 - CRL update retrieval . . . . . . 16
2.17. Update Section 5.3.21 - Error Message Content . . . . . . 17 2.17. Update Section 5.3.21 - Error Message Content . . . . . . 17
2.18. Replace Section 5.3.22 - Polling Request and Response . . 18 2.18. Replace Section 5.3.22 - Polling Request and Response . . 17
2.19. Update Section 7 - Version Negotiation . . . . . . . . . 23 2.19. Update Section 7 - Version Negotiation . . . . . . . . . 22
2.20. Update Section 7.1.1. - Clients Talking to RFC 2510 2.20. Update Section 7.1.1. - Clients Talking to RFC 2510
Servers . . . . . . . . . . . . . . . . . . . . . . . . 25 Servers . . . . . . . . . . . . . . . . . . . . . . . . 24
2.21. Add Section 8.4 - Private keys for certificate signing and 2.21. Add Section 8.4 - Private keys for certificate signing and
CMP message protection . . . . . . . . . . . . . . . . . 25 CMP message protection . . . . . . . . . . . . . . . . . 24
2.22. Add Section 8.5 - Entropy of random numbers, key pairs, and 2.22. Add Section 8.5 - Entropy of random numbers, key pairs, and
shared secret information . . . . . . . . . . . . . . . 25 shared secret information . . . . . . . . . . . . . . . 24
2.23. Add Section 8.6 - Trust anchor provisioning using 2.23. Add Section 8.6 - Trust anchor provisioning using CMP
caPubs . . . . . . . . . . . . . . . . . . . . . . . . . 26 messages . . . . . . . . . . . . . . . . . . . . . . . . 25
2.24. Update Section 9 - IANA Considerations . . . . . . . . . 26 2.24. Update Section 9 - IANA Considerations . . . . . . . . . 26
2.25. Update Appendix B - The Use of Revocation Passphrase . . 28 2.25. Update Appendix B - The Use of Revocation Passphrase . . 27
2.26. Update Appendix C - Request Message Behavioral 2.26. Update Appendix C - Request Message Behavioral
Clarifications . . . . . . . . . . . . . . . . . . . . . 29 Clarifications . . . . . . . . . . . . . . . . . . . . . 28
2.27. Update Appendix D.1. - General Rules for Interpretation of 2.27. Update Appendix D.1. - General Rules for Interpretation of
These Profiles . . . . . . . . . . . . . . . . . . . . . 30 These Profiles . . . . . . . . . . . . . . . . . . . . . 29
2.28. Update Appendix D.2. - Algorithm Use Profile . . . . . . 31 2.28. Update Appendix D.2. - Algorithm Use Profile . . . . . . 29
2.29. Update Appendix D.4. - Initial Registration/Certification 2.29. Update Appendix D.4. - Initial Registration/Certification
(Basic Authenticated Scheme) . . . . . . . . . . . . . . 31 (Basic Authenticated Scheme) . . . . . . . . . . . . . . 30
3. Updates to RFC 6712 - HTTP Transfer for the Certificate 3. Updates to RFC 6712 - HTTP Transfer for the Certificate
Management Protocol (CMP) . . . . . . . . . . . . . . . . 31 Management Protocol (CMP) . . . . . . . . . . . . . . . . 30
3.1. Update Section 1. - Introduction . . . . . . . . . . . . 31 3.1. Update Section 1. - Introduction . . . . . . . . . . . . 30
3.2. New Section 1.1. - Changes since RFC 6712 . . . . . . . . 32 3.2. New Section 1.1. - Changes since RFC 6712 . . . . . . . . 30
3.3. Replace Section 3.6. - HTTP Request-URI . . . . . . . . . 32 3.3. Replace Section 3.6. - HTTP Request-URI . . . . . . . . . 31
3.4. Update Section 6. - IANA Considerations . . . . . . . . . 33 3.4. Update Section 6. - IANA Considerations . . . . . . . . . 31
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32
5. Security Considerations . . . . . . . . . . . . . . . . . . . 34 5. Security Considerations . . . . . . . . . . . . . . . . . . . 32
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 34 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 34 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.1. Normative References . . . . . . . . . . . . . . . . . . 34 7.1. Normative References . . . . . . . . . . . . . . . . . . 33
7.2. Informative References . . . . . . . . . . . . . . . . . 36 7.2. Informative References . . . . . . . . . . . . . . . . . 35
Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 37 Appendix A. ASN.1 Modules . . . . . . . . . . . . . . . . . . . 35
A.1. 1988 ASN.1 Module . . . . . . . . . . . . . . . . . . . . 37 A.1. 1988 ASN.1 Module . . . . . . . . . . . . . . . . . . . . 35
A.2. 2002 ASN.1 Module . . . . . . . . . . . . . . . . . . . . 50 A.2. 2002 ASN.1 Module . . . . . . . . . . . . . . . . . . . . 49
Appendix B. History of changes . . . . . . . . . . . . . . . . . 64 Appendix B. History of changes . . . . . . . . . . . . . . . . . 62
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 67
1. Introduction 1. Introduction
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.
skipping to change at page 7, line 35 skipping to change at page 7, line 37
OPTIONAL, OPTIONAL,
senderKID [2] KeyIdentifier OPTIONAL, senderKID [2] KeyIdentifier OPTIONAL,
recipKID [3] KeyIdentifier OPTIONAL, recipKID [3] KeyIdentifier OPTIONAL,
transactionID [4] OCTET STRING OPTIONAL, transactionID [4] OCTET STRING OPTIONAL,
senderNonce [5] OCTET STRING OPTIONAL, senderNonce [5] OCTET STRING OPTIONAL,
recipNonce [6] OCTET STRING OPTIONAL, recipNonce [6] OCTET STRING OPTIONAL,
freeText [7] PKIFreeText OPTIONAL, freeText [7] PKIFreeText OPTIONAL,
generalInfo [8] SEQUENCE SIZE (1..MAX) OF generalInfo [8] SEQUENCE SIZE (1..MAX) OF
InfoTypeAndValue OPTIONAL InfoTypeAndValue OPTIONAL
} }
PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String
The usage of pvno values is described in Section 7. The usage of pvno values is described in Section 7.
2.4. New Section 5.1.1.4. - CertProfile 2.4. New Section 5.1.1.3. - CertProfile
Section 5.1.1 of RFC 4210 [RFC4210] defines the PKIHeader and id-it Section 5.1.1 of RFC 4210 [RFC4210] defines the PKIHeader and id-it
OIDs to be used in the generalInfo field. This section introduces OIDs to be used in the generalInfo field. This section introduces
id-it-certProfile. id-it-certProfile.
Insert this section after Section 5.1.1.3: Insert this section after Section 5.1.1.2:
5.1.1.4. CertProfile
5.1.1.3. CertProfile
This is used by the EE to indicate specific certificate profiles, This is used by the EE to indicate specific certificate profiles,
e.g., when requesting a new certificate or a certificate request e.g., when requesting a new certificate or a certificate request
template, see Section 5.3.19.16. template, see Section 5.3.19.16.
id-it-certProfile OBJECT IDENTIFIER ::= {id-it 21} id-it-certProfile OBJECT IDENTIFIER ::= {id-it 21}
CertProfileValue ::= SEQUENCE SIZE (1..MAX) OF UTF8String CertProfileValue ::= SEQUENCE SIZE (1..MAX) OF UTF8String
< TBD: The authors would prefer re-ordering the newly requested OIDs,
if possible. See also IANA Consideration.
+---------+-------------------------+------------+
| 20 | id-it-certProfile | [thisRFC] |
+---------+-------------------------+------------+
>
When used in an ir/cr/kur/genm, the value MUST NOT contain more When used in an ir/cr/kur/genm, the value MUST NOT contain more
elements than the number of CertReqMsg or InfoTypeAndValue elements elements than the number of CertReqMsg or InfoTypeAndValue elements
and the certificate profile names refer to the elements in the given and the certificate profile names refer to the elements in the given
order. order.
When used in a p10cr, the value MUST NOT contain multiple certificate When used in a p10cr, the value MUST NOT contain multiple certificate
profile names. profile names.
2.5. Update Section 5.1.3.1. - Shared Secret Information 2.5. Update Section 5.1.3.1. - Shared Secret Information
skipping to change at page 14, line 23 skipping to change at page 14, line 23
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.13. New Section 5.3.19.14 - CA Certificates 2.13. New Section 5.3.19.14 - CA Certificates
The following subsection describes PKI general messages using id-it- The following subsection describes PKI general messages using id-it-
caCerts. The use is specified in Lightweight CMP Profile Section 4.3 caCerts. The intended use is specified in Lightweight CMP Profile
[I-D.ietf-lamps-lightweight-cmp-profile]. Section 4.3 [I-D.ietf-lamps-lightweight-cmp-profile].
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 current CA intermediate and This MAY be used by the client to get CA certificates.
issuing CA certificates.
GenMsg: {id-it 17}, < absent > GenMsg: {id-it 17}, < absent >
GenRep: {id-it 17}, SEQUENCE SIZE (1..MAX) OF GenRep: {id-it 17}, SEQUENCE SIZE (1..MAX) OF
CMPCertificate | < absent > CMPCertificate | < absent >
2.14. New Section 5.3.19.15 - Root CA Certificate Update 2.14. New Section 5.3.19.15 - Root CA Certificate Update
The following subsection describes PKI general messages using id-it- The following subsection describes PKI general messages using id-it-
oldTrustAnchor and id-it-trustAnchorUpdate. The use is specified in rootCaCert and id-it-rootCaKeyUpdate. The use is specified in
Lightweight CMP Profile Section 4.3 Lightweight CMP Profile Section 4.3
[I-D.ietf-lamps-lightweight-cmp-profile]. [I-D.ietf-lamps-lightweight-cmp-profile].
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 Certificate Update 5.3.19.15. Root CA Certificate Update
This MAY be used by the client to get an update of a trust anchor, This MAY be used by the client to get an update of a root CA
which usually is provided in the form of a root CA Certificate. In certificate, which is provided in the body of the request message.
contrast to the ckuann message this approach follows the request/ In contrast to the ckuann message this approach follows the request/
response model. response model.
The EE SHOULD reference its current trust anchor in a TrustAnchor The EE SHOULD reference its current trust anchor in a TrustAnchor
structure in the request body, giving the root CA certificate if structure in the request body, giving the root CA certificate if
available, otherwise the public key value of the trust anchor. available, otherwise the public key value of the trust anchor.
GenMsg: {id-it 20}, OldTrustAnchor | < absent > GenMsg: {id-it 20}, RootCaCertValue | < absent >
GenRep: {id-it 18}, TrustAnchorUpdate | < absent > GenRep: {id-it 18}, RootCaKeyUpdateContent | < absent >
OldTrustAnchor ::= CHOICE { RootCaCertValue ::= CMPCertificate
certificate CMPCertificate,
publicKey BIT STRING }
TrustAnchorUpdate ::= SEQUENCE { RootCaKeyUpdateValue ::= RootCaKeyUpdateContent
RootCaKeyUpdateContent ::= SEQUENCE {
newWithNew CMPCertificate, newWithNew CMPCertificate,
newWithOld [0] CMPCertificate OPTIONAL, newWithOld [0] CMPCertificate OPTIONAL,
oldWithNew [1] CMPCertificate OPTIONAL } oldWithNew [1] CMPCertificate OPTIONAL
}
< TBD: Rename OIDs
id-it-rootCaCert --> id-it-oldTrustAnchor
id-it-rootCaKeyUpdate --> id-it-trustAnchorUpdate
The authors would prefer re-ordering the newly requested OIDs,
if possible. See also IANA Consideration.
+---------+-------------------------+------------+
| 18 | id-it-oldTrustAnchor | [thisRFC] |
+---------+-------------------------+------------+
| 19 | id-it-trustAnchorUpdate | [thisRFC] |
+---------+-------------------------+------------+
>
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.15. New Section 5.3.19.16 - Certificate Request Template 2.15. New Section 5.3.19.16 - Certificate Request Template
The following subsection introduces the PKI general message using id- The following subsection introduces the PKI general message using id-
it-certReqTemplate. Details are specified in the Lightweight CMP it-certReqTemplate. Details are specified in the Lightweight CMP
Profile Section 4.3 [I-D.ietf-lamps-lightweight-cmp-profile]. Profile Section 4.3 [I-D.ietf-lamps-lightweight-cmp-profile].
skipping to change at page 16, line 40 skipping to change at page 16, line 28
mechanisms(5) pkix(7) pkip(5) regCtrl(1) 11 } mechanisms(5) pkix(7) pkip(5) regCtrl(1) 11 }
AlgIdCtrl ::= AlgorithmIdentifier{ALGORITHM, {...}} AlgIdCtrl ::= AlgorithmIdentifier{ALGORITHM, {...}}
id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { iso(1) id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { iso(1)
identified-organization(3) dod(6) internet(1) security(5) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) pkip(5) regCtrl(1) 12 } mechanisms(5) pkix(7) pkip(5) regCtrl(1) 12 }
RsaKeyLenCtrl ::= INTEGER (1..MAX) RsaKeyLenCtrl ::= INTEGER (1..MAX)
< TBD: The authors would prefer re-ordering the newly requested OIDs,
if possible. See also IANA Consideration.
+---------+-------------------------+------------+
| 21 | id-it-certReqTemplate | [thisRFC] |
+---------+-------------------------+------------+
>
The CertReqTemplateValue contains the prefilled certTemplate to be The CertReqTemplateValue contains the prefilled certTemplate to be
used for a future certificate request. The publicKey field in the used for a future certificate request. The publicKey field in the
certTemplate MUST NOT be used. In case the PKI management entity certTemplate MUST NOT be used. In case the PKI management entity
wishes to specify supported public-key algorithms, the keySpec field wishes to specify supported public-key algorithms, the keySpec field
MUST be used. One AttributeTypeAndValue per supported algorithm or MUST be used. One AttributeTypeAndValue per supported algorithm or
RSA key length MUST be used. RSA key 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.16. New Section 5.3.19.17 - CRL update retrieval 2.16. New Section 5.3.19.17 - CRL update retrieval
skipping to change at page 17, line 42 skipping to change at page 17, line 17
CertificateList | < absent > CertificateList | < absent >
CRLSource ::= CHOICE { CRLSource ::= CHOICE {
dpn [0] DistributionPointName, dpn [0] DistributionPointName,
issuer [1] GeneralNames } issuer [1] GeneralNames }
CRLStatus ::= SEQUENCE { CRLStatus ::= SEQUENCE {
source CRLSource, source CRLSource,
thisUpdate Time OPTIONAL } thisUpdate Time OPTIONAL }
< TBD: Request OID for id-it-crlStatusList (TBD1) and id-it-crls < TBD: Add requested OIDs for id-it-crlStatusList (TBD1) and id-it-
(TBD2). > crls (TBD2). >
2.17. Update Section 5.3.21 - Error Message Content 2.17. Update Section 5.3.21 - Error Message Content
Section 5.3.21 of RFC 4210 [RFC4210] describes the regular use of Section 5.3.21 of RFC 4210 [RFC4210] describes the regular use of
error messages. This document adds a use by a PKI management entity error messages. This document adds a use by a PKI management entity
to initiate delayed delivery in response to certConf, rr, and genm to initiate delayed delivery in response to certConf, rr, and genm
requests and to error messages. requests and to error messages.
Replace the first sentence of the first paragraph with the following Replace the first sentence of the first paragraph with the following
one: one:
skipping to change at page 26, line 6 skipping to change at page 25, line 6
The following subsection addresses the risk arising from low entropy The following subsection addresses the risk arising from low entropy
of random numbers, asymmetric keys, and shared secret information. of random numbers, asymmetric keys, and shared secret information.
8.5. Entropy of random numbers, key pairs, and shared secret 8.5. Entropy of random numbers, key pairs, and shared secret
information information
For requirements regarding proper random number and key generation For requirements regarding proper random number and key generation
please refer to [RFC4086]. please refer to [RFC4086].
For the case of centrally generated key pairs, the entropy of the For the case of centrally generated key pairs, the entropy of the
shared secret information SHALL not be less than the security shared secret information SHALL NOT be less than the security
strength of the centrally generated key pair; if the shared secret strength of the centrally generated key pair; if the shared secret
information is re-used for different key pairs, the entropy and the information is re-used for different key pairs, the entropy and the
security of the underlying cryptographic mechanisms SHOULD exceed the security of the underlying cryptographic mechanisms SHOULD exceed the
security strength of the key pairs. security strength of the key pairs.
For the case of a PKI management operation that delivers a new trust For the case of a PKI management operation that delivers a new trust
anchor (e.g., a root CA certificate) using caPubs, (a) that is not anchor (e.g., a root CA certificate) using caPubs, (a) that is not
concluded in a timely manner or (b) where the shared secret concluded in a timely manner or (b) where the shared secret
information is re-used for several key management operations, the information is re-used for several key management operations, the
entropy of the shared secret information SHALL not be less than the entropy of the shared secret information SHALL NOT be less than the
security strength of the key material being managed by the operation. security strength of the key material being managed by the operation.
For other cases it is recommended to (a) either use a shared secret For other cases it is recommended to (a) either use a shared secret
information of possibly low entropy (e.g., a password) only for a information of possibly low entropy (e.g., a password) only for a
single PKI management operation or (b) use a shared secret single PKI management operation or (b) use a shared secret
information with an entropy that matches the security strength of the information with an entropy that matches the security strength of the
key material being managed by the operation. key material being managed by the operation.
2.23. Add Section 8.6 - Trust anchor provisioning using caPubs 2.23. Add Section 8.6 - Trust anchor provisioning using CMP messages
The following subsection addresses the risk arising from provisioning The following subsection addresses the risk arising from in-band
a new trust anchor in-band in a CMP management operation. provisioning of new trust anchors in a PKI management operation.
Insert this section after new Section 8.5: Insert this section after new Section 8.5:
8.6. Trust anchor provisioning using caPubs 8.6. Trust anchor provisioning using CMP messages
In case an EE receives a CA certificate in the caPubs field for The provider of trust anchors, which typically will be an RA involved
installation as a new trust anchor, it is advised to properly in configuration management of its clients, MUST NOT include to-be-
authenticate the message and authorize the sender as trusted source trusted CA certificates in a CMP message unless it can take
of the new trust anchor. This authorization is typically indicated responsibility for making the recipient trust them. When doing so,
using shared secret information for protecting an initialization it MUST exert the same due diligence as for its own trust anchors.
response (ir) message. Authorization can also be signature-based
using a certificate issued by another PKI that is explicitly Whenever an EE receives in a CMP message, e.g., in the caPubs field
authorized for this purpose. A certificate received in caPubs MUST of a certificate response or in a general response (genp), a CA
NOT be accepted as trust anchor if the CMP message was protected certificate for use as a trust anchor, it MUST properly authenticate
using a certificate issued by this same CA or one of its subordinate the message sender without already trusting any of the CA
CAs. certificates given in the message.
Moreover, the EE MUST verify that the sender is an authorized source
of trust anchors. This authorization is typically indicated using
shared secret information or with a signature-based message
protection using a certificate issued by a PKI that is explicitly
authorized for this purpose.
2.24. Update Section 9 - IANA Considerations 2.24. 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 Extended Key Usage, that document. As this document defines a new Extended Key Usage,
the IANA Considerations need to be updated accordingly. the IANA Considerations need to be updated accordingly.
Add the following paragraphs after the third paragraph of the Add the following paragraphs after the third paragraph of the
section: section:
skipping to change at page 27, line 30 skipping to change at page 26, line 39
Extended Key Purpose Identifiers Extended Key Purpose Identifiers
registry registry
In the SMI-numbers registry "SMI Security for PKIX CMP Information 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- 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 numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.4) as defined in
RFC 7299 [RFC7299] fife additions have been performed. RFC 7299 [RFC7299] fife additions have been performed.
Fife new entries have been added: Fife new entries have been added:
+=========+=========================+============+ +=========+=======================+============+
| Decimal | Description | References | | Decimal | Description | References |
+=========+=========================+============+ +=========+=======================+============+
| 17 | id-it-caCerts | [thisRFC] | | 17 | id-it-caCerts | [thisRFC] |
+---------+-------------------------+------------+ +---------+-----------------------+------------+
| 18 | id-it-trustAnchorUpdate | [thisRFC] | | 18 | id-it-rootCaKeyUpdate | [thisRFC] |
+---------+-------------------------+------------+ +---------+-----------------------+------------+
| 19 | id-it-certReqTemplate | [thisRFC] | | 19 | id-it-certReqTemplate | [thisRFC] |
+---------+-------------------------+------------+ +---------+-----------------------+------------+
| 20 | id-it-oldTrustAnchor | [thisRFC] | | 20 | id-it-rootCaCert | [thisRFC] |
+---------+-------------------------+------------+ +---------+-----------------------+------------+
| 21 | id-it-certProfile | [thisRFC] | | 21 | id-it-certProfile | [thisRFC] |
+---------+-------------------------+------------+ +---------+-----------------------+------------+
| TBD1 | id-it-crlStatusList | [thisRFC] | | TBD1 | id-it-crlStatusList | [thisRFC] |
+---------+-------------------------+------------+ +---------+-----------------------+------------+
| TBD2 | id-it-crls | [thisRFC] | | TBD2 | id-it-crls | [thisRFC] |
+---------+-------------------------+------------+ +---------+-----------------------+------------+
Table 2: Addition to the PKIX CMP Information Table 2: Addition to the PKIX CMP
Types registry Information Types registry
< TBD: Request OID for id-it-crlStatusList (TBD1) and id-it-crls < TBD: Add requested OIDs for id-it-crlStatusList (TBD1) and id-it-
(TBD2). crls (TBD2). >
Preferred ordering, if possible:
+=========+=========================+============+
| Decimal | Description | References |
+=========+=========================+============+
| 17 | id-it-caCerts | [thisRFC] |
+---------+-------------------------+------------+
| 18 | id-it-oldTrustAnchor | [thisRFC] |
+---------+-------------------------+------------+
| 19 | id-it-trustAnchorUpdate | [thisRFC] |
+---------+-------------------------+------------+
| 20 | id-it-certProfile | [thisRFC] |
+---------+-------------------------+------------+
| 21 | id-it-certReqTemplate | [thisRFC] |
+---------+-------------------------+------------+
| TBD1 | id-it-crlStatusList | [thisRFC] |
+---------+-------------------------+------------+
| TBD2 | id-it-crls | [thisRFC] |
+---------+-------------------------+------------+
>
In the SMI-numbers registry " SMI Security for PKIX CRMF Registration 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/ Controls (1.3.6.1.5.5.7.5.1)" (see https://www.iana.org/assignments/
smi-numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.5.1) as smi-numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.5.1) as
defined in RFC 7299 [RFC7299] two additions have been performed. defined in RFC 7299 [RFC7299] two additions have been performed.
Two new entries have been added: Two new entries have been added:
+=========+======================+============+ +=========+======================+============+
| Decimal | Description | References | | Decimal | Description | References |
skipping to change at page 30, line 27 skipping to change at page 29, line 5
-- * encoded value of AltCertTemplate). If -- * encoded value of AltCertTemplate). If
-- * certTemplate/altCertTemplate does not contain both the -- * certTemplate/altCertTemplate does not contain both the
-- * subject and public key values (i.e., if it contains only -- * subject and public key values (i.e., if it contains only
-- * one of these, or neither), then poposkInput MUST be present -- * one of these, or neither), then poposkInput MUST be present
-- * and MUST be signed. -- * and MUST be signed.
-- ********** -- **********
Replace the comment within the ASN.1 syntax coming after the Replace the comment within the ASN.1 syntax coming after the
definition of POPOPrivKey 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 -- * Section 5.2.2 of this specification). Therefore, this
-- * document makes the behavioral clarification of specifying -- * document makes the behavioral clarification of specifying
-- * that the 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 -- * compatibility) and then wrapped in a BIT STRING. This
-- * allows the necessary conveyance and protection of the -- * allows the necessary conveyance and protection of the
-- * private key while maintaining bits-on-the-wire compatibility -- * private key while maintaining bits-on-the-wire compatibility
-- * with RFC 4211 [RFC4211]. -- * with RFC 4211 [RFC4211].
-- ********** -- **********
2.27. Update Appendix D.1. - General Rules for Interpretation of These 2.27. Update Appendix D.1. - General Rules for Interpretation of These
Profiles Profiles
Appendix D.1 of RFC 4210 [RFC4210] provides general rules for Appendix D.1 of RFC 4210 [RFC4210] provides general rules for
interpretation of the PKI management messages profiles specified in interpretation of the PKI management messages profiles specified in
Appendix D and Appendix E of RFC 4210 [RFC4210]. This document Appendix D and Appendix E of RFC 4210 [RFC4210]. This document
updates a sentence regarding the new protocol version cmp2021. updates a sentence regarding the new protocol version cmp2021.
Replace the last sentence of the first paragraph of the section with Replace the last sentence of the first paragraph of the section with
skipping to change at page 34, line 23 skipping to change at page 33, line 4
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 we got from [RFC6402] which on structuring and writing this document we got from [RFC6402] which
updates CMC. Special thank also goes also to Russ Housley, Lijun updates CMC. Special thank also goes also to Russ Housley, Lijun
Liao, Martin Peylo, and Tomas Gustavsson for reviewing and providing Liao, Martin Peylo, and Tomas Gustavsson for reviewing and providing
valuable suggestions on improving this document. valuable suggestions on improving this document.
We also thank all reviewers of this document for their valuable We also thank all reviewers of this document for their 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., Aschauer, H., Ounsworth, M., and J. Gray, Brockhaus, H., Aschauer, H., Ounsworth, M., and J. Gray,
"Certificate Management Protocol (CMP) Algorithms", Work "Certificate Management Protocol (CMP) Algorithms", Work
in Progress, Internet-Draft, draft-ietf-lamps-cmp- in Progress, Internet-Draft, draft-ietf-lamps-cmp-
algorithms-07, 22 August 2021, algorithms-08, 17 November 2021,
<https://datatracker.ietf.org/doc/html/draft-ietf-lamps- <https://datatracker.ietf.org/doc/html/draft-ietf-lamps-
cmp-algorithms-07>. cmp-algorithms-08>.
[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 [RFC2510] Adams, C. and S. Farrell, "Internet X.509 Public Key
Infrastructure Certificate Management Protocols", Infrastructure Certificate Management Protocols",
RFC 2510, DOI 10.17487/RFC2510, March 1999, RFC 2510, DOI 10.17487/RFC2510, March 1999,
<https://www.rfc-editor.org/info/rfc2510>. <https://www.rfc-editor.org/info/rfc2510>.
skipping to change at page 36, line 40 skipping to change at page 35, line 22
Request Message Format (CRMF)", RFC 9045, Request Message Format (CRMF)", RFC 9045,
DOI 10.17487/RFC9045, June 2021, DOI 10.17487/RFC9045, June 2021,
<https://www.rfc-editor.org/info/rfc9045>. <https://www.rfc-editor.org/info/rfc9045>.
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. V. Oheimb, "Lightweight Brockhaus, H., Fries, S., and D. V. Oheimb, "Lightweight
Certificate Management Protocol (CMP) Profile", Work in Certificate Management Protocol (CMP) Profile", Work in
Progress, Internet-Draft, draft-ietf-lamps-lightweight- Progress, Internet-Draft, draft-ietf-lamps-lightweight-
cmp-profile-06, 9 July 2021, cmp-profile-07, 25 October 2021,
<https://datatracker.ietf.org/doc/html/draft-ietf-lamps- <https://datatracker.ietf.org/doc/html/draft-ietf-lamps-
lightweight-cmp-profile-06>. lightweight-cmp-profile-07>.
[IEEE.802.1AR_2018] [IEEE.802.1AR_2018]
IEEE, "IEEE Standard for Local and metropolitan area IEEE, "IEEE Standard for Local and metropolitan area
networks - Secure Device Identity", IEEE 802.1AR-2018, networks - Secure Device Identity", IEEE 802.1AR-2018,
DOI 10.1109/IEEESTD.2018.8423794, 2 August 2018, DOI 10.1109/IEEESTD.2018.8423794, 2 August 2018,
<https://ieeexplore.ieee.org/document/8423794>. <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
skipping to change at page 37, line 25 skipping to change at page 36, line 4
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-cmp2021-88(99)} id-mod(0) id-mod-cmp2021-88(99)}
DEFINITIONS EXPLICIT TAGS ::= DEFINITIONS EXPLICIT TAGS ::=
BEGIN BEGIN
-- EXPORTS ALL -- -- EXPORTS ALL --
IMPORTS IMPORTS
Certificate, CertificateList, Extensions, Name, Time,
Certificate, CertificateList, Extensions, Name,
AlgorithmIdentifier, id-kp AlgorithmIdentifier, id-kp
--, UTF8String -- -- if required; otherwise, comment out --, UTF8String -- -- if required; otherwise, comment out
FROM PKIX1Explicit88 {iso(1) identified-organization(3) FROM PKIX1Explicit88 {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-pkix1-explicit-88(18)} id-mod(0) id-pkix1-explicit-88(18)}
-- The import of Name is added to define CertificationRequest -- The import of Name is added to define CertificationRequest
-- instead of importing it from PKCS#10 [RFC2986] -- instead of importing it from PKCS#10 [RFC2986]
GeneralName, KeyIdentifier DistributionPointName, GeneralNames, GeneralName, KeyIdentifier
FROM PKIX1Implicit88 {iso(1) identified-organization(3) FROM PKIX1Implicit88 {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-pkix1-implicit-88(19)} id-mod(0) id-pkix1-implicit-88(19)}
CertTemplate, PKIPublicationInfo, EncryptedKey, CertId, CertTemplate, PKIPublicationInfo, EncryptedKey, CertId,
CertReqMessages, Controls, AttributeTypeAndValue, id-regCtrl CertReqMessages, Controls, AttributeTypeAndValue, id-regCtrl
FROM PKIXCRMF-2005 {iso(1) identified-organization(3) FROM PKIXCRMF-2005 {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-crmf2005(36)} id-mod(0) id-mod-crmf2005(36)}
-- The import of EncryptedKey is added due to the updates made -- The import of EncryptedKey is added due to the updates made
skipping to change at page 47, line 7 skipping to change at page 45, line 36
-- public-key certificate -- public-key certificate
id-regCtrl-algId OBJECT IDENTIFIER ::= { id-regCtrl 11 } id-regCtrl-algId OBJECT IDENTIFIER ::= { id-regCtrl 11 }
AlgIdCtrl ::= AlgorithmIdentifier AlgIdCtrl ::= AlgorithmIdentifier
-- SHALL be used to specify supported algorithms other than RSA -- SHALL be used to specify supported algorithms other than RSA
id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl 12 } id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl 12 }
RsaKeyLenCtrl ::= INTEGER (1..MAX) RsaKeyLenCtrl ::= INTEGER (1..MAX)
-- SHALL be used to specify supported RSA key lengths -- SHALL be used to specify supported RSA key lengths
-- OldTrustAnchor, TrustAnchorUpdateContent, CRLSource, and -- RootCaKeyUpdateContent, CRLSource, and CRLStatus were added in
-- CRLStatus were added in CMP Updates [thisRFC] -- CMP Updates [thisRFC]
OldTrustAnchor ::= CHOICE {
certificate CMPCertificate,
publicKey BIT STRING
}
TrustAnchorUpdate ::= SEQUENCE { RootCaKeyUpdateContent ::= SEQUENCE {
newWithNew CMPCertificate, newWithNew CMPCertificate,
-- new root CA certificate -- new root CA certificate
newWithOld [0] CMPCertificate OPTIONAL, newWithOld [0] CMPCertificate OPTIONAL,
-- X.509 certificate containing the new public root CA key -- X.509 certificate containing the new public root CA key
-- signed with the old private root CA key -- signed with the old private root CA key
oldWithNew [1] CMPCertificate OPTIONAL oldWithNew [1] CMPCertificate OPTIONAL
-- X.509 certificate containing the old public root CA key -- X.509 certificate containing the old public root CA key
-- signed with the new private root CA key -- signed with the new private root CA key
} }
skipping to change at page 48, line 34 skipping to change at page 47, line 10
-- id-it-confirmWaitTime OBJECT IDENTIFIER ::= {id-it 14} -- id-it-confirmWaitTime OBJECT IDENTIFIER ::= {id-it 14}
-- ConfirmWaitTimeValue ::= GeneralizedTime -- ConfirmWaitTimeValue ::= GeneralizedTime
-- id-it-origPKIMessage OBJECT IDENTIFIER ::= {id-it 15} -- id-it-origPKIMessage OBJECT IDENTIFIER ::= {id-it 15}
-- OrigPKIMessageValue ::= PKIMessages -- OrigPKIMessageValue ::= PKIMessages
-- id-it-suppLangTags OBJECT IDENTIFIER ::= {id-it 16} -- id-it-suppLangTags OBJECT IDENTIFIER ::= {id-it 16}
-- SuppLangTagsValue ::= SEQUENCE OF UTF8String -- SuppLangTagsValue ::= SEQUENCE OF UTF8String
-- id-it-caCerts OBJECT IDENTIFIER ::= {id-it 17} -- id-it-caCerts OBJECT IDENTIFIER ::= {id-it 17}
-- CaCertsValue ::= SEQUENCE SIZE (1..MAX) OF -- CaCertsValue ::= SEQUENCE SIZE (1..MAX) OF
-- CMPCertificate -- CMPCertificate
-- - id-it-caCerts added in CMP Updates [thisRFC] -- - id-it-caCerts added in CMP Updates [thisRFC]
-- id-it-trustAnchorUpdate OBJECT IDENTIFIER ::= {id-it 18} -- id-it-rootCaKeyUpdate OBJECT IDENTIFIER ::= {id-it 18}
-- TrustAnchorUpdateValue ::= TrustAnchorUpdate -- RootCaKeyUpdateValue ::= RootCaKeyUpdateContent
-- - id-it-trustAnchorUpdate added in CMP Updates [thisRFC] -- - id-it-rootCaKeyUpdate added in CMP Updates [thisRFC]
-- id-it-certReqTemplate OBJECT IDENTIFIER ::= {id-it 19} -- id-it-certReqTemplate OBJECT IDENTIFIER ::= {id-it 19}
-- CertReqTemplateValue ::= CertReqTemplateContent -- CertReqTemplateValue ::= CertReqTemplateContent
-- - id-it-certReqTemplate added in CMP Updates [thisRFC] -- - id-it-certReqTemplate added in CMP Updates [thisRFC]
-- id-it-oldTrustAnchor OBJECT IDENTIFIER ::= {id-it 20} -- id-it-rootCaCert OBJECT IDENTIFIER ::= {id-it 20}
-- OldTrustAnchorValue ::= OldTrustAnchor -- RootCaCertValue ::= CMPCertificate
-- - id-it-oldTrustAnchor added in CMP Updates [thisRFC] -- - id-it-rootCaCert added in CMP Updates [thisRFC]
-- id-it-certProfile OBJECT IDENTIFIER ::= {id-it 21} -- id-it-certProfile OBJECT IDENTIFIER ::= {id-it 21}
-- CertProfileValue ::= SEQUENCE SIZE (1..MAX) OF -- CertProfileValue ::= SEQUENCE SIZE (1..MAX) OF
-- UTF8String -- UTF8String
-- - id-it-certProfile added in CMP Updates [thisRFC] -- - id-it-certProfile added in CMP Updates [thisRFC]
-- id-it-crlStatusList OBJECT IDENTIFIER ::= {id-it TBD1} -- id-it-crlStatusList OBJECT IDENTIFIER ::= {id-it TBD1}
-- CRLStatusListValue ::= SEQUENCE SIZE (1..MAX) OF -- CRLStatusListValue ::= SEQUENCE SIZE (1..MAX) OF
-- CRLStatus -- CRLStatus
-- - id-it-crlStatusList added in CMP Updates [thisRFC] -- - id-it-crlStatusList added in CMP Updates [thisRFC]
-- id-it-crls OBJECT IDENTIFIER ::= {id-it TBD2} -- id-it-crls OBJECT IDENTIFIER ::= {id-it TBD2}
-- CRLsValue ::= SEQUENCE SIZE (1..MAX) OF -- CRLsValue ::= SEQUENCE SIZE (1..MAX) OF
skipping to change at page 51, line 12 skipping to change at page 49, line 36
{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)
id-mod-algorithmInformation-02(58)} id-mod-algorithmInformation-02(58)}
Certificate, CertificateList, id-kp Certificate, CertificateList, Time, id-kp
FROM PKIX1Explicit-2009 FROM PKIX1Explicit-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-pkix1-explicit-02(51)} mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-explicit-02(51)}
GeneralName, KeyIdentifier DistributionPointName, GeneralNames, GeneralName, KeyIdentifier
FROM PKIX1Implicit-2009 FROM PKIX1Implicit-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-pkix1-implicit-02(59)} mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-implicit-02(59)}
CertTemplate, PKIPublicationInfo, EncryptedKey, CertId, CertTemplate, PKIPublicationInfo, EncryptedKey, CertId,
CertReqMessages, Controls, RegControlSet, id-regCtrl CertReqMessages, Controls, RegControlSet, id-regCtrl
FROM PKIXCRMF-2009 FROM PKIXCRMF-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-crmf2005-02(55) } id-mod-crmf2005-02(55) }
skipping to change at page 60, line 39 skipping to change at page 59, line 15
-- SHALL be used to specify supported algorithms other than RSA -- SHALL be used to specify supported algorithms other than RSA
regCtrl-rsaKeyLen ATTRIBUTE ::= regCtrl-rsaKeyLen ATTRIBUTE ::=
{ TYPE RsaKeyLenCtrl IDENTIFIED BY id-regCtrl-rsaKeyLen } { TYPE RsaKeyLenCtrl IDENTIFIED BY id-regCtrl-rsaKeyLen }
id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl 12 } id-regCtrl-rsaKeyLen OBJECT IDENTIFIER ::= { id-regCtrl 12 }
RsaKeyLenCtrl ::= INTEGER (1..MAX) RsaKeyLenCtrl ::= INTEGER (1..MAX)
-- SHALL be used to specify supported RSA key lengths -- SHALL be used to specify supported RSA key lengths
-- OldTrustAnchor, TrustAnchorUpdateContent, CRLSource, and CRLStatus -- RootCaKeyUpdateContent, CRLSource, and CRLStatus were added in
-- were added in CMP Updates [thisRFC] -- CMP Updates [thisRFC]
OldTrustAnchor ::= CHOICE {
certificate CMPCertificate,
publicKey BIT STRING
}
TrustAnchorUpdate ::= SEQUENCE { RootCaKeyUpdateContent ::= SEQUENCE {
newWithNew CMPCertificate, newWithNew CMPCertificate,
-- new root CA certificate -- new root CA certificate
newWithOld [0] CMPCertificate OPTIONAL, newWithOld [0] CMPCertificate OPTIONAL,
-- X.509 certificate containing the new public root CA key -- X.509 certificate containing the new public root CA key
-- signed with the old private root CA key -- signed with the old private root CA key
oldWithNew [1] CMPCertificate OPTIONAL oldWithNew [1] CMPCertificate OPTIONAL
-- X.509 certificate containing the old public root CA key -- X.509 certificate containing the old public root CA key
-- signed with the new private root CA key -- signed with the new private root CA key
} }
skipping to change at page 62, line 24 skipping to change at page 60, line 43
-- id-it-confirmWaitTime OBJECT IDENTIFIER ::= {id-it 14} -- id-it-confirmWaitTime OBJECT IDENTIFIER ::= {id-it 14}
-- ConfirmWaitTimeValue ::= GeneralizedTime -- ConfirmWaitTimeValue ::= GeneralizedTime
-- id-it-origPKIMessage OBJECT IDENTIFIER ::= {id-it 15} -- id-it-origPKIMessage OBJECT IDENTIFIER ::= {id-it 15}
-- OrigPKIMessageValue ::= PKIMessages -- OrigPKIMessageValue ::= PKIMessages
-- id-it-suppLangTags OBJECT IDENTIFIER ::= {id-it 16} -- id-it-suppLangTags OBJECT IDENTIFIER ::= {id-it 16}
-- SuppLangTagsValue ::= SEQUENCE OF UTF8String -- SuppLangTagsValue ::= SEQUENCE OF UTF8String
-- id-it-caCerts OBJECT IDENTIFIER ::= {id-it 17} -- id-it-caCerts OBJECT IDENTIFIER ::= {id-it 17}
-- CaCertsValue ::= SEQUENCE SIZE (1..MAX) OF -- CaCertsValue ::= SEQUENCE SIZE (1..MAX) OF
-- CMPCertificate -- CMPCertificate
-- - id-it-caCerts added in CMP Updates [thisRFC] -- - id-it-caCerts added in CMP Updates [thisRFC]
-- id-it-trustAnchorUpdate OBJECT IDENTIFIER ::= {id-it 18} -- id-it-rootCaKeyUpdate OBJECT IDENTIFIER ::= {id-it 18}
-- TrustAnchorUpdateValue ::= TrustAnchorUpdate -- RootCaKeyUpdateValue ::= RootCaKeyUpdateContent
-- - id-it-trustAnchorUpdate added in CMP Updates [thisRFC] -- - id-it-rootCaKeyUpdate added in CMP Updates [thisRFC]
-- id-it-certReqTemplate OBJECT IDENTIFIER ::= {id-it 19} -- id-it-certReqTemplate OBJECT IDENTIFIER ::= {id-it 19}
-- CertReqTemplateValue ::= CertReqTemplateContent -- CertReqTemplateValue ::= CertReqTemplateContent
-- - id-it-certReqTemplate added in CMP Updates [thisRFC] -- - id-it-certReqTemplate added in CMP Updates [thisRFC]
-- id-it-oldTrustAnchor OBJECT IDENTIFIER ::= {id-it 20} -- id-it-rootCaCert OBJECT IDENTIFIER ::= {id-it 20}
-- OldTrustAnchorValue ::= OldTrustAnchor -- RootCaCertValue ::= CMPCertificate
-- - id-it-oldTrustAnchor added in CMP Updates [thisRFC] -- - id-it-rootCaCert added in CMP Updates [thisRFC]
-- id-it-certProfile OBJECT IDENTIFIER ::= {id-it 21} -- id-it-certProfile OBJECT IDENTIFIER ::= {id-it 21}
-- CertProfileValue ::= SEQUENCE SIZE (1..MAX) OF -- CertProfileValue ::= SEQUENCE SIZE (1..MAX) OF
-- UTF8String -- UTF8String
-- - id-it-certProfile added in CMP Updates [thisRFC] -- - id-it-certProfile added in CMP Updates [thisRFC]
-- id-it-crlStatusList OBJECT IDENTIFIER ::= {id-it TBD1} -- id-it-crlStatusList OBJECT IDENTIFIER ::= {id-it TBD1}
-- CRLStatusListValue ::= SEQUENCE SIZE (1..MAX) OF -- CRLStatusListValue ::= SEQUENCE SIZE (1..MAX) OF
-- CRLStatus -- CRLStatus
-- - id-it-crlStatusList added in CMP Updates [thisRFC] -- - id-it-crlStatusList added in CMP Updates [thisRFC]
-- id-it-crls OBJECT IDENTIFIER ::= {id-it TBD2} -- id-it-crls OBJECT IDENTIFIER ::= {id-it TBD2}
-- CRLsValue ::= SEQUENCE SIZE (1..MAX) OF -- CRLsValue ::= SEQUENCE SIZE (1..MAX) OF
skipping to change at page 63, line 33 skipping to change at page 62, line 4
-- Receiver MAY ignore any contained OIDs that it does not -- Receiver MAY ignore any contained OIDs that it does not
-- recognize. -- recognize.
ErrorMsgContent ::= SEQUENCE { ErrorMsgContent ::= SEQUENCE {
pKIStatusInfo PKIStatusInfo, pKIStatusInfo PKIStatusInfo,
errorCode INTEGER OPTIONAL, errorCode INTEGER OPTIONAL,
-- implementation-specific error codes -- implementation-specific error codes
errorDetails PKIFreeText OPTIONAL errorDetails PKIFreeText OPTIONAL
-- implementation-specific error details -- implementation-specific error details
} }
CertConfirmContent ::= SEQUENCE OF CertStatus CertConfirmContent ::= SEQUENCE OF CertStatus
CertStatus ::= SEQUENCE { CertStatus ::= SEQUENCE {
certHash OCTET STRING, certHash OCTET STRING,
-- the hash of the certificate, using the same hash algorithm -- the hash of the certificate, using the same hash algorithm
-- as is used to create and verify the certificate signature -- as is used to create and verify the certificate signature
certReqId INTEGER, certReqId INTEGER,
-- to match this confirmation with the corresponding req/rep -- to match this confirmation with the corresponding req/rep
statusInfo PKIStatusInfo OPTIONAL, statusInfo PKIStatusInfo OPTIONAL,
hashAlg [0] AlgorithmIdentifier OPTIONAL hashAlg [0] AlgorithmIdentifier{DIGEST-ALGORITHM, {...}} OPTIONAL
-- the hash algorithm to use for calculating certHash -- the hash algorithm to use for calculating certHash
-- SHOULD NOT be used in all cases where the AlgorithmIdentifier -- SHOULD NOT be used in all cases where the AlgorithmIdentifier
-- of the certificate signature specifies a hash algorithm -- of the certificate signature specifies a hash algorithm
} }
PollReqContent ::= SEQUENCE OF SEQUENCE { PollReqContent ::= SEQUENCE OF SEQUENCE {
certReqId INTEGER } certReqId INTEGER }
PollRepContent ::= SEQUENCE OF SEQUENCE { PollRepContent ::= SEQUENCE OF SEQUENCE {
certReqId INTEGER, certReqId INTEGER,
skipping to change at page 64, line 29 skipping to change at page 62, line 46
-- 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 13 -> 14:
* Extended id-it-caCerts support message to allow transporting to-
be-trusted root CA certificates; added respective security
consideration (see thread "Generalizing the CMP "Get CA
certificates" use case")
* Rolled back changes made in previous version regarding root CA
update to avoid registration of new OIDs. Yet we sticked to using
id-it-rootCaCert in the genm body instead its headers' generalInfo
field and removed the ToDos and TBDs on re-arranging id-it OIDs
(see thread "Allocation of OIDs for CRL update retrieval (draft-
ietf-lamps-cmp-updates-13)")
From version 12 -> 13: From version 12 -> 13:
* Added John Gray to the list of authors due to fruitful discussion * Added John Gray to the list of authors due to fruitful discussion
and important proposals and important proposals
* Fixed errata no. 2615, 2616, 3949, 4078, and 5201 on RFC 4210 * Fixed errata no. 2615, 2616, 3949, 4078, and 5201 on RFC 4210
* Added reference on RFC 8933 regarding CMS signedAttrs to * Added reference on RFC 8933 regarding CMS signedAttrs to
Section 2.7 Section 2.7
* Updated Section 2.9 and the ASN.1 modules moving the position of * Updated Section 2.9 and the ASN.1 modules moving the position of
the hashAlg field (see thread "[CMP Updates] position of hashAlg the hashAlg field (see thread "[CMP Updates] position of hashAlg
in certStatus") in certStatus")
 End of changes. 61 change blocks. 
193 lines changed or deleted 156 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/