<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-pkcs8-prikeyinfo-contenttypes-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="PKCS #8 PrivateKeyInfo Content Types">PKCS #8 Private-Key Information Content Types</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-pkcs8-prikeyinfo-contenttypes-02"/>
    <author initials="J." surname="Mandel" fullname="Joe Mandel">
      <organization abbrev="AKAYLA">AKAYLA, Inc.</organization>
      <address>
        <email>joe@akayla.com</email>
      </address>
    </author>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization abbrev="Vigil Security">Vigil Security, LLC</organization>
      <address>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <author initials="S." surname="Turner" fullname="Sean Turner">
      <organization abbrev="sn3rd">sn3rd</organization>
      <address>
        <email>sean@sn3rd.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="25"/>
    <area>Security</area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword/>
    <abstract>
      <?line 69?>

<t>This document defines PKCS #8 content types for use with
PrivateKeyInfo and EncryptedPrivateKeyInfo as specified in
RFC 5958.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/lamps-wg/pkcs8-PriKeyInfoCt"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-pkcs8-prikeyinfo-contenttypes/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Limited Additional Mechanisms for PKIX and SMIME  mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/pkcs8-PriKeyInfoCt"/>.</t>
    </note>
  </front>
  <middle>
    <?line 75?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The syntax for private-key information was originally described in <xref target="RFC5208"/>, and
the syntax was later revised by <xref target="RFC5958"/> to include the AsymmetricKeyPackage
content type that supports multiple PrivateKeyInfos. This document defines PKCS #8 content types for
use with one PrivateKeyInfo and EncryptedPrivateKeyInfo. These content type assignments are
needed for PrivateKeyInfo and EncryptedPrivateKeyInfo to be carried in the
Cryptographic Message Syntax (CMS) <xref target="RFC5652"/>.</t>
      <t>Note: A very long time ago, media types for PrivateKeyInfo and EncryptedPrivateKeyInfo were assigned
as application/pkcs8 and application/pkcs8-encrypted, respectively.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="ContentTypes">
      <name>Private-Key Information Content Types</name>
      <t>This section defines a content type for private-key information and
encrypted private-key information.</t>
      <t>The PrivateKeyInfo content type is identified by the following object identifier:</t>
      <artwork><![CDATA[
id-ct-privateKeyInfo OBJECT IDENTIFIER ::= { iso(1)
 member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
 smime(16) ct(1) TBD1 }
]]></artwork>
      <t>The EncryptedPrivateKeyInfo content type is identified by the following object identifier:</t>
      <artwork><![CDATA[
id-ct-encrPrivateKeyInfo OBJECT IDENTIFIER ::= { iso(1)
 member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
 smime(16) ct(1) TBD2 }
]]></artwork>
    </section>
    <section anchor="asn1-mod">
      <name>ASN.1 Module</name>
      <t>The ASN.1 module <xref target="X680"/><xref target="X690"/> in this section builds upon the modules in <xref target="RFC5911"/>.</t>
      <sourcecode type="asn.1" markers="true"><![CDATA[
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
]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations in <xref target="RFC5958"/> apply here.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>For the private key info content types defined in section <xref target="ContentTypes"/>,
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).</t>
      <t>For the ASN.1 Module in <xref target="asn1-mod"/>, 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".</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC5958">
          <front>
            <title>Asymmetric Key Packages</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document defines the syntax for private-key information and a content type for it. Private-key information includes a private key for a specified public-key algorithm and a set of attributes. The Cryptographic Message Syntax (CMS), as defined in RFC 5652, can be used to digitally sign, digest, authenticate, or encrypt the asymmetric key format content type. This document obsoletes RFC 5208. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5958"/>
          <seriesInfo name="DOI" value="10.17487/RFC5958"/>
        </reference>
        <reference anchor="RFC5911">
          <front>
            <title>New ASN.1 Modules for Cryptographic Message Syntax (CMS) and S/MIME</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5911"/>
          <seriesInfo name="DOI" value="10.17487/RFC5911"/>
        </reference>
        <reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information technology -- Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.680"/>
          <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
        </reference>
        <reference anchor="X690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information technology -- ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.690"/>
          <seriesInfo name="ISO/IEC" value="8825-1-2021"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5208">
          <front>
            <title>Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification Version 1.2</title>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This document represents a republication of PKCS #8 v1.2 from RSA Laboratories' Public Key Cryptography Standard (PKCS) series. Change control is transferred to the IETF. The body of this document, except for the security considerations section, is taken directly from the PKCS #8 v1.2 specification.</t>
              <t>This document describes a syntax for private-key information. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5208"/>
          <seriesInfo name="DOI" value="10.17487/RFC5208"/>
        </reference>
      </references>
    </references>
    <?line 201?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to John Gray and Deb Cooley for reviewing the document and providing comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81Y3XbaSBK+76eoJReD91jCInbWZieZYMAJiTFeIDnJmTMX
jdSGHutvuyUzHA95lnmWfbKt6pYAgZ2/3T07Fxyk7qrqqq9+W47jsExmoWhB
7fptZwxPTuFayTueCeetWEI/vklUxDOZxNBJ4kzEGUyWqdA1xqdTJe72+ZCN
uHbJfdyaJWrZAp0FjAWJH/MIjw0Uv8kcKbIbJ+RRqp301tenTqrkrVhKFOT4
VlBGcpyjJtP5NJJao0q01IJ+b3LB4jyaCtViAR7TYsiiRaxz3YJM5YKhmk8Z
V4KjumPh50pmyxpbJOp2ppI8xdVLGclMBNAOAknW8hAGwp/zWOpIA4IA12/7
H4DHAYwH/UGvxlA9FBC0GDjsTsQ5Hgvw/eIArDU1eoy4DPFRp1xHLwkbN1Ez
2uDKn+PGPMtS3Wo0iI6W5J1wS7IGLTSmKllo0TASGsQ5k9k8nyKvRXkxa1ig
0WuFxzoZ0YUIoM62zrCMrp9Ejc+yMp5n8wRd4ID17JtEwAAtFCGKRcVa0H7b
/njZPsSo8l0ypoggu4wLwtr9ayJe8lu+DDmdupY3yrWG10muQ7EsJb6XMxlC
6dJDuLzsbAmu7m4OmFshL+9oXwu/csxY8BgmuYqFKk/R8VMVbMkt3wtxGjle
mjUjiMU2Ze5MRIwuOifPTprl49nJ6frR8+jxw7PTI/rHAOBqJhD6EvnFYuHK
LHdlnDWU8BsTZ9TrOB9cZLD0NnFfmBeo5GqGwRYnYTJbAma43W9Pdaa4n8F4
GWf8N7hKMks8jAXU2+Mr1ztoFbTjVPjyRvqWILmBKdfSh7hgMVSlv+nZsUD1
J++ciVkweQjNo6ZHKUsrWigpNGV0eYihhpFA0CIRB0ZyCzb2IcV42Oj3Oi04
PW0eO16L5BnIzr4VsrPvg4xAARH7SSDjGag8FFhS9sA5N+D0SrIRkUH9vDc6
OCwEdXicxMgR7lF1kMrUga7UGa7nUs+xcOySdZHsf4z62UOonzieY1CXJVSb
sG4eYSwzx3EwMWxoMTaZSw1Y3POIan8gbmSM6pctoijlptTZMphrAQusMGyn
exAiiIFaplhGd/c0aOsCBErGDHUBSizXKhPJIAgFY0/QvZlKgtw3frp/Iul1
RToK0DYHSIW06HdY0EFuBcQCz0kUlgis3uESbdG+klNzJNzfFwCsVoekK8s2
MomPqqgCLBZSI8N0WTCgkqsVZAmK8MM8EEBsbb1ET2RK+mjgNfdv+UywbaSQ
imeg8zRNVKYhysNMpqHYabjahW8En5XgQxLvSvucA+gggawVHTl25FlMB2vs
UoLFQgRouml1X+9ahGaKgrlS1rcEEOsQaTJTPJ1jmg2E1ohQWcXqncH4oIAX
6+xqhVGAlQ3ToA13Qi0hTDCLMhmhirPkECIRSL4VgN+g3EKo0k4RMPQyT9Ow
KAO2JRr2vVVHlAIPMSQodCmLwqVLMYpjEk4PRKxtGSCvmZlB20ilsKRBQ0Nt
8G48qR3af7gamudR7x/v+qNel57Hr9uXl+sHVlCMXw/fXXY3TxvOznAw6F11
LTOuQmWJ1QbtjzUT3lAbXk/6w6v2Zc06ZTvO0NuF3zDBhEqVoMmHa1bJmPPO
9b/+8I7RU39BVzU97wwzwb6cen87xpfFXMT2tCTGfLOv6P8lQ0QFVyQFMxGj
I5UZD/WhKQTzZBHDHD2DaP71Z0Lmlxb8OPVT7/hFsUAGVxZLzCqLBrP9lT1m
C+IDSw8cs0azsr6DdFXf9sfKe4n71uKPP4WY1+B4pz+9YBRCXzWwY/0r3s3r
qijVWtjqWBYLXs3qz9VHKnvryH6MyrVBvJNJlTNQCxlQCph6jrWSiuJNEobJ
ghpgMv0VddyQYO9jnz59YjJw/MxJq4KH5296nQn0u72rSf+i3xtBq/Uc7vGM
pO5hA40EXROcaRIs680D7D710+OjA1CaB1rWPe/pyfHZAVDWIrn5d87qZ8io
I6wgde/ZAfgZbU3Oux6sjCLGwMdqxn/PUoL6+v9nbbO09kkxFQ2ws2ITun/C
dew5URIUndXuRsXuPY23qxX9n+H/unqUcTfNZYilLU8TU+sLPr3psTglm5qO
Z2O+x663MylsBzVb2/5tptPcs7Z+y/hCmToyog/wzV5Ot46sIzK4i6Z3exf9
qz4l6xj6g+vLfqc/gUn71Zh8ws57r/pXNJ5A78P1cDQZAxVohoT0wlhneDVB
JzqTj9c9Bhej4QAqXa9oerbn4UB2dIZDKoH0c4HRL2TD91v/tfb7kabTj3G8
rB97xvCqOw4fy4TCqoeGHRtJ772KSSenxqT/yKYvGFUQFabxima3s/de/YRc
C/B3tmvldtDBtu9sAjLYr0y/w4M5jBcE13XJ8t5vNBgA33wxqA5sSEJw70ve
Px92oV9XiC6cf4QHKyeK/lNUVPZwqXvAyEcD7SFrHxC5tvhPUFkZTgKmvN63
QCe58vF6Fggn4upWKP38B/qK9cOKim/5NYO6u8ZWofjWrKjLTb+yuVVNzQWE
JtRlOTTRPal91d6Td4GtnypyEQ9QNvadsLSDgxnxypp+f1+ZNFaHzByAVV+J
f+ZC07iQJcUkjWPEfuOD+rDfPTDTh+D+nO7YpErlZHMLYUhn5/i9fRoN8zCg
uRSnxgRvp+sbBU7Cg/4GSWIfN+gzHOBlojI21ZgSM7yY4z2i7rlNF73sWu+6
nou/Z653YGdWEmsH3tSAsDldi8xc+R7Krvqke47xRAIejUXqMc0Dd+ORSv81
rl23YLyNfh5r9jmsNw14a9/gDEizQ8Kq+NL33S/jWyjdX0v/MsBHWwB3twAu
tYnFwmhXAZyhzbVHenat+E4wxe5jxhn/Nk4WoQhm5vaKKWg/Jovgee0G7xmi
ZiYbHt9qgvJNMo/hleLL4ro2xYBJQmHNpBu/MMOciYf1FSmmATm5k+aTjv3y
kmnU499dyHEvgBcAAA==

-->

</rfc>
