⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2985.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:






Network Working Group                                           M. Nystrom
Request for Comments: 2985                                      B. Kaliski
Category: Informational                                       RSA Security
                                                             November 2000


          PKCS #9: Selected Object Classes and Attribute Types
                              Version 2.0

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

Abstract

   This memo represents a republication of PKCS #9 v2.0 from RSA
   Laboratories' Public-Key Cryptography Standards (PKCS) series, and
   change control is retained within the PKCS process.  The body of this
   document, except for the security considerations section, is taken
   directly from that specification.

   This memo provides a selection of object classes and attribute types
   for use in conjunction with public-key cryptography and Lightweight
   Directory Access Protocol (LDAP) accessible directories.  It also
   includes ASN.1 syntax for all constructs.

Table of Contents

   1.  Introduction ................................................. 2
   2.  Definitions, notation and document convention ................ 2
   2.1  Definitions ................................................. 2
   2.2  Notation and document convention ............................ 3
   3.  Overview ..................................................... 4
   4.  Auxiliary object classes ..................................... 5
   4.1  The "pkcsEntity" auxiliary object class ..................... 5
   4.2  The "naturalPerson" auxiliary object class .................. 6
   5.  Selected attribute types ..................................... 6
   5.1  Attribute types for use with the "pkcsEntity" object class .. 6
   5.2  Attribute types for use with the "naturalPerson" object class 7
   5.3  Attribute types for use in PKCS #7 data .................... 12
   5.4  Attribute types for use in PKCS #10 certificate requests ... 16




Nystrom & Kaliski            Informational                      [Page 1]

RFC 2985      Selected Object Classes and Attribute Types  November 2000


   5.5  Attribute types for use in PKCS #12 "PFX" PDUs or PKCS #15
        tokens ..................................................... 17
   5.6  Attributes defined in S/MIMIE .............................. 18
   6.  Matching rules .............................................. 19
   6.1  Case ignore match .......................................... 19
   6.2  Signing time match ......................................... 20
   7.  Security Considerations ..................................... 20
   8.  Authors' Addresses .......................................... 21
   A.  ASN.1 module ................................................ 22
   B.  BNF schema summary .......................................... 30
   B.1  Syntaxes ................................................... 30
   B.2  Object classes ............................................. 31
   B.3  Attribute types ............................................ 32
   B.4  Matching rules ............................................. 36
   C.  Intellectual property considerations ........................ 37
   D.  Revision history ............................................ 37
   E.  References .................................................. 39
   F.  Contact information & About PKCS ............................ 41
   Full Copyright Statement ........................................ 41

1. Introduction

   This document defines two new auxiliary object classes, pkcsEntity
   and naturalPerson, and selected attribute types for use with these
   classes.  It also defines some attribute types for use in conjunction
   with PKCS #7 [14] (and S/MIME CMS [3]) digitally signed messages,
   PKCS #10 [16] certificate-signing requests, PKCS #12 [17] personal
   information exchanges and PKCS #15 [18] cryptographic tokens.
   Matching rules for use with these attributes are also defined,
   whenever necessary.

2. Definitions, notation and document conventions

 2.1 Definitions

   For the purposes of this document, the following definitions apply.

   ASN.1           Abstract Syntax Notation One, as defined in [5].

   Attributes      An ASN.1 type that specifies a set of attributes.
                   Each attribute contains an attribute type (specified
                   by object identifier) and one or more attribute
                   values.  Some attribute types are restricted in their
                   definition to have a single value; others may have
                   multiple values.  This type is defined in [7].






Nystrom & Kaliski            Informational                      [Page 2]

RFC 2985      Selected Object Classes and Attribute Types  November 2000


   CertificationRequestInfo
                   An ASN.1 type that specifies a subject name, a public
                   key, and a set of attributes.  This type is defined
                   in [16].

   ContentInfo     An ASN.1 type that specifies content exchanged
                   between entities.  The contentType field, which has
                   type OBJECT IDENTIFIER, specifies the content type,
                   and the content field, whose type is defined by the
                   contentType field, contains the content value.  This
                   type is defined in [14] and [3].

   PrivateKeyInfo  A type that specifies a private key and a set of
                   extended attributes.  This type and the associated
                   EncryptedPrivateKeyInfo type are defined in [15].

   SignerInfo      A type that specifies per-signer information in the
                   signed-data content type, including a set of
                   attributes authenticated by the signer, and a set of
                   attributes not authenticated by the signer.  This
                   type is defined in [14] and [3].

   DER             Distinguished Encoding Rules for ASN.1, as defined in
                   [6].

   UCS             Universal Multiple-Octet Coded Character Set, as
                   defined in [11].

   UTF8String      UCS Transformation Format encoded string.  The UTF-8
                   encoding is defined in [11].

 2.2 Notation and document conventions

   In this document, all attribute type and object class definitions are
   written in the ASN.1 value notation defined in [5].  Appendix B
   contains most of these definitions written in the augmented BNF
   notation defined in [2] as well.  This has been done in an attempt to
   simplify the task of integrating this work into LDAP [22] development
   environments.

   The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [1].








Nystrom & Kaliski            Informational                      [Page 3]

RFC 2985      Selected Object Classes and Attribute Types  November 2000


3. Overview

   This document specifies two new auxiliary object classes, pkcsEntity
   and naturalPerson, and some new attribute types and matching rules.
   All ASN.1 object classes, attributes, matching rules and types are
   exported for use in other environments.

   Attribute types defined in this document that are useful in
   conjunction with storage of PKCS-related data and the pkcsEntity
   object class includes PKCS #12 PFX PDUs, PKCS #15 tokens and
   encrypted private keys.

   Attribute types defined in this document that are useful in
   conjunction with PKCS #10 certificate requests and the naturalPerson
   object class includes electronic-mail address, pseudonym,
   unstructured name, and unstructured address.

   Attribute types defined in this document that are useful in PKCS #7
   digitally signed messages are content type, message digest, signing
   time, sequence number, random nonce and countersignature.  The
   attributes would be used in the authenticatedAttributes and
   unauthenticatedAttributes fields of a SignerInfo or an
   AuthenticatedData ([3]) value.

   Attribute types that are useful especially in PKCS #10 certification
   requests are the challenge password and the extension-request
   attribute.  The attributes would be used in the attributes field of a
   CertificationRequestInfo value.

   Note - The attributes types (from [8]) in Table 1, and probably
   several others, might also be helpful in PKCS #10, PKCS #12 and PKCS
   #15-aware applications.



















Nystrom & Kaliski            Informational                      [Page 4]

RFC 2985      Selected Object Classes and Attribute Types  November 2000


       businessCategory            preferredDeliveryMethod
       commonName                  presentationAddress
       countryName                 registeredAddress
       description                 roleOccupant
       destinationIndicator        serialNumber
       facsimileTelephoneNumber    stateOrProvinceName
       iSDNAddress                 streetAddress
       localityName                supportedApplicationContext
       member                      surname
       objectClass                 telephoneNumber
       organizationName            teletexTerminalIdentifier
       physicalDeliveryOfficeName  telexNumber
       postalAddress               title
       postalCode                  x121Address
       postOfficeBox

   Table 1: ISO/IEC 9594-6 attribute types useful in PKCS documents

4. Auxiliary object classes

   This document defines two new auxiliary object classes: pkcsEntity
   and naturalPerson.

 4.1 The pkcsEntity auxiliary object class

   The pkcsEntity object class is a general-purpose auxiliary object
   class that is intended to hold attributes about PKCS-related
   entities.  It has been designed for use within directory services
   based on the LDAP protocol [22] and the X.500 family of protocols,
   where support for PKCS-defined attributes is considered useful.

   pkcsEntity OBJECT-CLASS ::=     {
           SUBCLASS OF { top }
           KIND auxiliary
           MAY CONTAIN { PKCSEntityAttributeSet }
           ID pkcs-9-oc-pkcsEntity
   }

   PKCSEntityAttributeSet ATTRIBUTE ::= {
           pKCS7PDU |
           userPKCS12 |
           pKCS15Token |
           encryptedPrivateKeyInfo,
           ... -- For future extensions
   }

   Attributes in the PKCSEntityAttributeSet are defined in Section 5.




Nystrom & Kaliski            Informational                      [Page 5]

RFC 2985      Selected Object Classes and Attribute Types  November 2000


 4.2 The naturalPerson auxiliary object class

   The naturalPerson object class is a general-purpose auxiliary object
   class that is intended to hold attributes about human beings.  It has
   been designed for use within directory services based on the LDAP
   protocol [22] and the X.500 family of protocols, where support for
   these attributes is considered useful.

   naturalPerson OBJECT-CLASS      ::=     {
           SUBCLASS OF { top }
           KIND auxiliary
           MAY CONTAIN { NaturalPersonAttributeSet }
           ID pkcs-9-oc-naturalPerson
   }

   NaturalPersonAttributeSet ATTRIBUTE ::= {
           emailAddress |
           unstructuredName |
           unstructuredAddress |
           dateOfBirth |
           placeOfBirth |
           gender |
           countryOfCitizenship |
           countryOfResidence |
           pseudonym |
           serialNumber,
           ... -- For future extensions
   }

   Attributes in the NaturalPersonAttributeSet are defined in Section 5.

5. Selected attribute types

 5.1 Attribute types for use with the "pkcsEntity" object class

  5.1.1 PKCS #7 PDU

   PKCS #7 provides several formats for enveloped, signed and otherwise
   protected data.  When such information is stored in a directory
   service, the pKCS7PDU attribute may be used.

   pKCS7PDU ATTRIBUTE ::= {
           WITH SYNTAX ContentInfo
           ID pkcs-9-at-pkcs7PDU
   }






Nystrom & Kaliski            Informational                      [Page 6]

RFC 2985      Selected Object Classes and Attribute Types  November 2000


  5.1.2 PKCS #12 token

   PKCS #12 provides a format for exchange of personal identity
   information.  When such information is stored in a directory service,
   the userPKCS12 attribute should be used.

   userPKCS12 ATTRIBUTE ::= {
           WITH SYNTAX PFX
           ID pkcs-9-at-userPKCS12
   }

   This type was originally defined in [20].

  5.1.3 PKCS #15 token

   PKCS #15 provides a format for cryptographic tokens.  When software
   variants of such tokens are stored in a directory service, the
   pKCS15Token attribute should be used.

   pKCS15Token ATTRIBUTE ::= {
           WITH SYNTAX PKCS15Token
           ID pkcs-9-at-pkcs15Token
   }

  5.1.4 PKCS #8 encrypted private key information

   PKCS #8 provides a format for encrypted private keys.  When such
   information is stored in a directory service, the
   encryptedPrivateKeyInfo attribute should be used.

   encryptedPrivateKeyInfo ATTRIBUTE ::= {
           WITH SYNTAX EncryptedPrivateKeyInfo
           ID pkcs-9-at-encryptedPrivateKeyInfo
   }

 5.2 Attribute types for use with the "naturalPerson" object class

  5.2.1 Electronic-mail address

   The emailAddress attribute type specifies the electronic-mail address
   or addresses of a subject as an unstructured ASCII string.  The
   interpretation of electronic-mail addresses is intended to be
   specified by certificate issuers etc.; no particular interpretation
   is required.







Nystrom & Kaliski            Informational                      [Page 7]

RFC 2985      Selected Object Classes and Attribute Types  November 2000


   emailAddress ATTRIBUTE ::= {
           WITH SYNTAX IA5String (SIZE(1..pkcs-9-ub-emailAddress))
           EQUALITY MATCHING RULE pkcs9CaseIgnoreMatch
           ID pkcs-9-at-emailAdress
   }

   An electronic-mail address attribute can have multiple attribute
   values.  When comparing two email addresses, case is irrelevant.  The
   pkcs9CaseIgnoreMatch is defined in Section 6.

   Note - It is likely that other standards bodies overseeing
   electronic-mail systems will, or have, registered electronic-mail

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -