<?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.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-pkcs8-prikeyinfo-contenttypes-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <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-00"/>
    <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="May" day="22"/>
    <area>Security</area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword/>
    <abstract>
      <?line 45?>

<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 51?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The syntax for private-key information was originally described in <xref target="RFC5208"/> and
later obsoleted by <xref target="RFC5958"/>. This document defines PKCS #8 content types for
use with PrivateKeyInfo and EncryptedPrivateKeyInfo.</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="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>
    <section anchor="asn1-mod">
      <name>ASN.1 Module</name>
      <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>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative 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>
      <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="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>
    <?line 170?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
