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

📄 rfc2985.txt

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

   counterSignature ATTRIBUTE ::= {
           WITH SYNTAX SignerInfo
           ID pkcs-9-at-counterSignature
   }

   Countersignature values have the same meaning as SignerInfo values
   for ordinary signatures (see Section 9 of [14] and Section 5.3 of
   [3]), except that:

   1. The authenticatedAttributes field must contain a messageDigest
   attribute if it contains any other attributes, but need not contain a
   contentType attribute, as there is no content type for
   countersignatures; and






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


   2. The input to the message-digesting process is the content octets
   of the DER encoding of the signatureValue field of the SignerInfo
   value with which the attribute is associated.

   A countersignature attribute can have multiple attribute values.

   Note 1 - The fact that a countersignature is computed on a signature
   (encrypted digest) means that the countersigning process need not
   know the original content input to the signing process.  This has
   advantages both in efficiency and in confidentiality.

   Note 2 - A countersignature, since it has type SignerInfo, can itself
   contain a countersignature attribute.  Thus it is possible to
   construct arbitrarily long series of countersignatures.

 5.4 Attribute types for use with PKCS #10 certificate requests

  5.4.1 Challenge password

   The challengePassword attribute type specifies a password by which an
   entity may request certificate revocation.  The interpretation of
   challenge passwords is intended to be specified by certificate
   issuers etc; no particular interpretation is required.

   challengePassword ATTRIBUTE ::= {
           WITH SYNTAX DirectoryString {pkcs-9-ub-challengePassword}
           EQUALITY MATCHING RULE caseExactMatch
           SINGLE VALUE TRUE
           ID pkcs-9-at-challengePassword
   }

   A challenge-password attribute must have a single attribute value.

   ChallengePassword attribute values generated in accordance with this
   version of this document SHOULD use the PrintableString encoding
   whenever possible.  If internationalization issues make this
   impossible, the UTF8String alternative SHOULD be used.  PKCS #9-
   attribute processing systems MUST be able to recognize and process
   all string types in DirectoryString values.

   Note - Version 1.1 of this document defined challengePassword as
   having the syntax CHOICE {PrintableString, T61String}, but did
   contain a note explaining that this might be changed to a CHOICE of
   different string types in the future See also Note 2 in section
   5.2.3.






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


  5.4.2 Extension request

   The extensionRequest attribute type may be used to carry information
   about certificate extensions the requester wishes to be included in a
   certificate.

   extensionRequest ATTRIBUTE ::= {
           WITH SYNTAX ExtensionRequest
           SINGLE VALUE TRUE
           ID pkcs-9-at-extensionRequest
   }

   ExtensionRequest ::= Extensions

   The Extensions type is imported from [10].

  5.4.3 Extended-certificate attributes (deprecated)

   The extendedCertificateAttributes attribute type specified a set of
   attributes for a PKCS #6 [13] extended certificate in a PKCS #10
   certification request (the value of the extended certificate-
   attributes attribute would become the extension in the requested PKCS
   #6 extended certificate).  Since the status of PKCS #6 is historic
   after the introduction of X.509 v3 certificates [10], the use of this
   attribute is deprecated.

   extendedCertificateAttributes ATTRIBUTE ::= {
           WITH SYNTAX SET OF Attribute
           SINGLE VALUE TRUE
           ID pkcs-9-at-extendedCertificateAttributes
   }

   An extended certificate attributes attribute must have a single
   attribute value (that value is a set, which itself may contain
   multiple values, but there must be only one set).

 5.5 Attributes for use in PKCS #12 "PFX" PDUs or PKCS #15 tokens

  5.5.1 Friendly name

   The friendlyName attribute type specifies a user-friendly name of the
   object it belongs to.  It is referenced in [17].









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


   friendlyName ATTRIBUTE ::= {
           WITH SYNTAX BMPString (SIZE(1..pkcs-9-ub-friendlyName))
           EQUALITY MATCHING RULE caseIgnoreMatch
           SINGLE VALUE TRUE
           ID pkcs-9-at-friendlyName
   }

   As indicated, friendlyName attributes must have a single attribute
   value.

  5.5.2 Local key identifier

   The localKeyId attribute type specifies an identifier for a
   particular key.  It is only to be used locally in applications.  This
   attribute is referenced in [17].

   localKeyId ATTRIBUTE ::= {
           WITH SYNTAX OCTET STRING
           EQUALITY MATCHING RULE octetStringMatch
           SINGLE VALUE TRUE
           ID pkcs-9-at-localKeyId
   }

   As indicated, localKeyId attributes must have a single attribute
   value.  For two localKeyId values to match, their octet string
   representation must be of equal length and corresponding octets
   identical.

 5.6 Attributes defined in S/MIME

   S/MIME (c.f. [12]) defines some attributes and object identifiers in
   the PKCS #9 object identifier tree.  For completeness, they are
   mentioned here.

  5.6.1 Signing description

   The signingDescription attribute is intended to provide a short
   synopsis of a message that can be used to present a user with an
   additional confirmation step before committing to a cryptographic
   operation.  In most cases, the replication of the "Subject:" line
   from the header of a message should be sufficient and is recommended.

   signingDescription ATTRIBUTE ::= {
           WITH SYNTAX DirectoryString {pkcs-9-ub-signingDescription}
           EQUALITY MATCHING RULE caseIgnoreMatch
           SINGLE VALUE TRUE
           ID pkcs-9-at-signingDescription
   }



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


  5.6.2 S/MIME capabilities

   The syntax and semantics of the smimeCapabilities attribute is
   defined in [12].  It is included here for the sake of completeness.

   smimeCapabilities ATTRIBUTE ::= {
           WITH SYNTAX SMIMECapabilities
           SINGLE VALUE
           ID pkcs-9-at-smimeCapabilities
   }

   SMIMECapabilities ::= SEQUENCE OF SMIMECapability

   SMIMECapability ::= SEQUENCE {
           algorithm  ALGORITHM.&id ({SMIMEv3Algorithms}),
           parameters ALGORITHM.&Type ({SMIMEv3Algorithms}{@algorithm})
   }

   SMIMEv3Algorithms ALGORITHM ::= {... -- See RFC 2633 -- }

6. Matching rules

   This section defines matching rules used in the definition of
   attributes in this document.

 6.1 Case ignore match

   The pkcs9CaseIgnoreMatch rule compares for equality a presented
   string with an attribute value of type PKCS9String, without regard to
   the case (upper or lower) of the strings (e.g. "Pkcs" and "PKCS"
   match).

   pkcs9CaseIgnoreMatch MATCHING-RULE ::= {
           SYNTAX  PKCS9String {pkcs9-ub-match}
           ID              id-mr-pkcs9CaseIgnoreMatch
   }

   The rule returns TRUE if the strings are the same length and
   corresponding characters are identical except possibly with regard to
   case.

   Where the strings being matched are of different ASN.1 syntax, the
   comparison proceeds as normal so long as the corresponding characters
   are in both character sets.  Otherwise matching fails.







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


 6.2 Signing time match

   The signingTimeMatch rule compares for equality a presented value
   with an attribute value of type SigningTime.

   signingTimeMatch MATCHING-RULE ::= {
           SYNTAX SigningTime
           ID pkcs-9-mr-signingTimeMatch
   }

   The rule returns TRUE if the attribute value represents the same time
   as the presented value.  If a time is specified with seconds (or
   fractional seconds) absent, the number of seconds (fractional
   seconds) is assumed to be zero.

   Where the strings being matched are of different ASN.1 syntax, the
   comparison proceeds as follows:

   a) Convert both values to DER-encoded values of type GeneralizedTime,
     coordinated universal time.  If this is not possible the matching
     fails.

   b) Compare the strings for equality.  The rule returns TRUE if and
     only if the strings are of the same length and corresponding octets
     are identical.

7. Security Considerations

   Attributes of directory entries are used to provide descriptive
   information about the real-world objects they represent, which can be
   people, organizations or devices.  Most countries have privacy laws
   regarding the publication of information about people.

   The challengePassword attribute should not be stored un-encrypted in
   a directory.

   Users of directory-aware applications making use of attributes
   defined for use with the pkcsEntity object class should make sure
   that the class's attributes are adequately protected, since they may
   potentially be read by third parties.  If a password-protected value
   is stored (PKCS #8, #12 or #15), the directory should authenticate
   the requester before delivering the value to prevent an off-line
   password-search attack.  Note that this potentially raises non-
   repudiation issues since the directory itself can try a password
   search to recover a private value, if stored this way.






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


8. Authors' Addresses

   Magnus Nystrom
   RSA Security
   Box 10704
   S-121 29 Stockholm
   Sweden

   EMail: magnus@rsasecurity.com


   Burt Kaliski
   RSA Security
   20 Crosby Drive
   Bedford, MA 01730 USA

   EMail: bkaliski@rsasecurity.com


































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


APPENDICES

A. ASN.1 module

   This appendix includes all of the ASN.1 type and value definitions
   contained in this document in the form of the ASN.1 module PKCS-9.

   PKCS-9 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
   pkcs-9(9) modules(0) pkcs-9(1)}

   DEFINITIONS IMPLICIT TAGS ::=

   BEGIN

   -- EXPORTS All --
   -- All types and values defined in this module is exported for use
   -- in other ASN.1 modules.

   IMPORTS

   informationFramework, authenticationFramework,
   selectedAttributeTypes, upperBounds , id-at
           FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
           usefulDefinitions(0) 3}

   ub-name
           FROM UpperBounds upperBounds

   OBJECT-CLASS, ATTRIBUTE, MATCHING-RULE, Attribute, top,
   objectIdentifierMatch
           FROM InformationFramework informationFramework

   ALGORITHM, Extensions, Time
           FROM AuthenticationFramework authenticationFramework

   DirectoryString, octetStringMatch, caseIgnoreMatch, caseExactMatch,
   generalizedTimeMatch, integerMatch, serialNumber
           FROM SelectedAttributeTypes selectedAttributeTypes

   ContentInfo, SignerInfo
           FROM CryptographicMessageSyntax {iso(1) member-body(2) us(840)
           rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) modules(0) cms(1)}

   EncryptedPrivateKeyInfo
           FROM PKCS-8 {iso(1) member-body(2) us(840) rsadsi(113549)
           pkcs(1) pkcs-8(8) modules(1) pkcs-8(1)}


⌨️ 快捷键说明

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