Internet-Draft | PKCS #8 PrivateKeyInfo Content Types | March 2025 |
Mandel, et al. | Expires 4 September 2025 | [Page] |
This document defines PKCS #8 Content Types for Private-Key Information.¶
This note is to be removed before publishing as an RFC.¶
The latest revision of this draft can be found at https://github.com/mandelj7/pkcs8-PriKeyInfoCt. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-mandel-lamps-pkcs8-prikeyinfo-contenttypes/.¶
Discussion of this document takes place on the WG LAMPS mailing list (mailto:spasm@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/spasm/. Subscribe at https://www.ietf.org/mailman/listinfo/spasm/.¶
Source for this draft and an issue tracker can be found at https://github.com/mandelj7/pkcs8-PriKeyInfoCt.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 4 September 2025.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The syntax for private-key information was originally described in [RFC5208] and later obsoleted by [RFC5958]. This document defines PKCS #8 content types for use with PrivateKeyInfo and EncryptedPrivateKeyInfo.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This section defines a content type for private-key information and encrypted private-key information.¶
The PrivateKeyInfo content type is identified by the following object identifier:¶
id-ct-privateKeyInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) TBD1 }¶
The EncryptedPrivateKeyInfo content type is identified by the following object identifier:¶
id-ct-encrPrivateKeyInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) TBD2 }¶
For the private key info content types defined in section Section 3, IANA is requested to assign an object identifier (OID) for each of the content types. The OIDs for the content types should be alloacted in the "SMI Security for S/MIME CMS Content Type" registry (1.2.840.113549.1.9.16.1), and the description should be set to id-ct-privateKeyInfo (TDB1) and id-ct-encrPrivateKeyInfo (TBD2).¶
For the ASN.1 Module in Section 6, IANA is requested to assign an object identifier (OID) for the module identifier. The OID for the module should be allocated in the "SMI Security for S/MIME Module Identifier" registry (1.2.840.113549.1.9.16.0), and the Description for the new OID should be set to "id-mod-pkcs8ContentType".¶
PrivateKeyInfoContentTypes { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-pkcs8ContentType(TBD0) } DEFINITIONS IMPLICIT TAGS ::= BEGIN -- EXPORTS ALL IMPORTS CONTENT-TYPE FROM CryptographicMessageSyntax-2009 -- in [RFC5911] { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2004-02(41) } PrivateKeyInfo, EncryptedPrivateKeyInfo FROM AsymmetricKeyPackageModuleV1 -- in [RFC5958] { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-asymmetricKeyPkgV1(50) } ; PrivateKeyInfoContentTypes CONTENT-TYPE ::= { ct-privateKeyInfo | ct-encrPrivateKeyInfo, ... -- Expect additional content types -- } ct-privateKeyInfo CONTENT-TYPE ::= { PrivateKeyInfo IDENTIFIED BY id-ct-privateKeyInfo } id-ct-privateKeyInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) TBD1 } ct-encrPrivateKeyInfo CONTENT-TYPE ::= { EncryptedPrivateKeyInfo IDENTIFIED BY id-ct-encrPrivateKeyInfo } id-ct-encrPrivateKeyInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) TBD2 } END¶
TODO acknowledge.¶