<?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-00" 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, llc</organization>
      <address>
        <email>sean@sn3rd.com</email>
      </address>
    </author>

    <date year="2025" month="March" day="03"/>

    <area>Security</area>
    <workgroup>LAMPS Working Group</workgroup>
    <keyword></keyword>

    <abstract>


<?line 45?>

<t>This document defines PKCS #8 Content Types for Private-Key Information.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/mandelj7/pkcs8-PriKeyInfoCt"/>.
        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
        WG LAMPS 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 49?>

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

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

<t>TODO acknowledge.</t>

</section>


  </back>

<!-- ##markdown-source:
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
RYVW1l6zB3zBSbvDXwlv2yreEQAA

-->

</rfc>

