<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-mandel-lamps-pkcs8-prikeyinfo-contenttypes-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="PKCS #8 PrivateKeyInfo Content Types">PKCS #8 Private-Key Information Content Types</title>

    <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="01"/>

    <area></area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword></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 title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://mandelj7.github.io/pkcs8-PriKeyInfoCt/draft-mandel-lamps-pkcs8-prikeyinfo-contenttypes.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mandel-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/mandelj7/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>

<figure><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></figure>

<t>The EncryptedPrivateKeyInfo content type is identified by the following object identifier:</t>

<figure><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></figure>

</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>

<figure><sourcecode type="asn.1"><![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></figure>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



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

<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>TODO acknowledge.</t>

</section>


  </back>

<!-- ##markdown-source:
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
+8KikXXUHQFfS9Ls8B+0LU6CkBIAAA==

-->

</rfc>

