rfc3039.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,771 行 · 第 1/5 页

TXT
1,771
字号
Santesson, et al.           Standards Track                    [Page 19]

RFC 3039             Qualified Certificates Profile         January 2001


DEFINITIONS EXPLICIT TAGS ::=

BEGIN

-- EXPORTS ALL --

IMPORTS

authorityKeyIdentifier, subjectKeyIdentifier, keyUsage,
    extendedKeyUsage, privateKeyUsagePeriod, certificatePolicies,
    policyMappings, subjectAltName, issuerAltName, basicConstraints,
    nameConstraints, policyConstraints, cRLDistributionPoints,
    subjectDirectoryAttributes, authorityInfoAccess, GeneralName,
    OTHER-NAME
    FROM PKIX1Implicit93 {iso(1) identified-organization(3) dod(6)
    internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
    id-pkix1-implicit-93(4)}

id-pkix, AlgorithmIdentifier, ATTRIBUTE, Extension, EXTENSION,
    DirectoryString{}, ub-name, id-pe, id-at, id-at-commonName,
    id-at-surname, id-at-countryName, id-at-localityName,
    id-at-stateOrProvinceName, id-at-organizationName,
    id-at-organizationalUnitName, id-at-givenName, id-at-dnQualifier,
    pkcs9email, title, organizationName, organizationalUnitName,
    stateOrProvinceName, localityName, countryName,
    generationQualifier, dnQualifier, initials, givenName, surname,
    commonName, name
    FROM PKIX1Explicit93 {iso(1) identified-organization(3) dod(6)
    internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
    id-pkix1-explicit-93(3)};

-- Object Identifiers

-- Externally defined OIDs
id-at-serialNumber  OBJECT IDENTIFIER ::= { id-at 5}
id-at-postalAddress OBJECT IDENTIFIER ::= { id-at 16 }
id-at-pseudonym     OBJECT IDENTIFIER ::= { id-at 65 }
id-domainComponent  OBJECT IDENTIFIER ::= { 0 9 2342 19200300 100 1 25 }

-- Locally defined OIDs

-- Arc for QC personal data attributes

id-pda  OBJECT IDENTIFIER ::= { id-pkix 9 }
-- Arc for QC statements
id-qcs  OBJECT IDENTIFIER ::= { id-pkix 11 }

-- Private extensions



Santesson, et al.           Standards Track                    [Page 20]

RFC 3039             Qualified Certificates Profile         January 2001


id-pe-biometricInfo         OBJECT IDENTIFIER ::= { id-pe 2 }
id-pe-qcStatements          OBJECT IDENTIFIER ::= { id-pe 3 }

-- Personal data attributes
id-pda-dateOfBirth          OBJECT IDENTIFIER ::= { id-pda 1 }
id-pda-placeOfBirth         OBJECT IDENTIFIER ::= { id-pda 2 }
id-pda-gender               OBJECT IDENTIFIER ::= { id-pda 3 }
id-pda-countryOfCitizenship OBJECT IDENTIFIER ::= { id-pda 4 }
id-pda-countryOfResidence   OBJECT IDENTIFIER ::= { id-pda 5 }

-- QC statements
id-qcs-pkixQCSyntax-v1      OBJECT IDENTIFIER ::= { id-qcs 1 }

-- Object Sets

-- The following information object set is defined to constrain the
-- set of legal certificate extensions. Note that this set is an
-- extension of the ExtensionSet defined in RFC 2459.
ExtensionSet EXTENSION ::= {
    authorityKeyIdentifier |
    subjectKeyIdentifier |
    keyUsage |
    extendedKeyUsage |
    privateKeyUsagePeriod |
    certificatePolicies |
    policyMappings |
    subjectAltName |
    issuerAltName |
    basicConstraints |
    nameConstraints |
    policyConstraints |
    cRLDistributionPoints |
    subjectDirectoryAttributes |
    authorityInfoAccess |
    biometricInfo |
    qcStatements, ... }

-- The following information object set is defined to constrain the
-- set of attributes applications are required to recognize in
-- distinguished names. The set may of course be augmented to meet
-- local requirements.  Note that deleting members of the set may
-- prevent interoperability with conforming implementations, and that
-- this set is an extension of the SupportedAttributes set in RFC 2459.

SupportedAttributes ATTRIBUTE ::= {
    countryName | commonName | surname | givenName | pseudonym |
    serialNumber | organizationName | organizationalUnitName |
    stateOrProvinceName | localityName | postalAddress |



Santesson, et al.           Standards Track                    [Page 21]

RFC 3039             Qualified Certificates Profile         January 2001


    pkcs9email | domainComponent | dnQualifier,
    ... -- For future extensions -- }

-- The following information object set is defined to constrain the
-- set of attributes applications are required to recognize in
-- subjectDirectoryAttribute extensions. The set may be augmented to
-- meet local requirements.  Note that deleting members of the set
-- may prevent interoperability with conforming implementations.
PersonalDataAttributeSet ATTRIBUTE ::= {
    title | dateOfBirth | placeOfBirth | gender | countryOfCitizenship |
    countryOfResidence, ... }

-- Attributes

-- serialNumber from X.520
serialNumber ATTRIBUTE ::= {
    WITH SYNTAX PrintableString (SIZE(1..64))
    ID          id-at-serialNumber }

-- postalAddress from X.520
postalAddress ATTRIBUTE ::= {
    WITH SYNTAX SEQUENCE SIZE (1..6) OF DirectoryString { 30 }
    ID          id-at-postalAddress }

-- pseudonym from (forthcoming) X.520)
pseudonym ATTRIBUTE ::= {
    WITH SYNTAX DirectoryString { ub-name }
    ID          id-at-pseudonym }

-- domainComponent from RFC 2247
domainComponent ATTRIBUTE ::= {
    WITH SYNTAX IA5String
    ID          id-domainComponent }

dateOfBirth ATTRIBUTE ::= {
    WITH SYNTAX GeneralizedTime
    ID          id-pda-dateOfBirth }

placeOfBirth ATTRIBUTE ::= {
    WITH SYNTAX DirectoryString { ub-name }
    ID          id-pda-placeOfBirth }

gender ATTRIBUTE ::= {
    WITH SYNTAX PrintableString (SIZE(1) ^ FROM("M"|"F"|"m"|"f"))
    ID          id-pda-gender }

countryOfCitizenship ATTRIBUTE ::= {
    WITH SYNTAX PrintableString (SIZE (2))



Santesson, et al.           Standards Track                    [Page 22]

RFC 3039             Qualified Certificates Profile         January 2001


        (CONSTRAINED BY { -- ISO 3166 codes only -- })
    ID          id-pda-countryOfCitizenship }

countryOfResidence ATTRIBUTE ::= {
    WITH SYNTAX PrintableString (SIZE (2))
        (CONSTRAINED BY { -- ISO 3166 codes only -- })
    ID          id-pda-countryOfResidence }

-- Private extensions

-- Biometric info extension

biometricInfo  EXTENSION ::= {
    SYNTAX             BiometricSyntax
    IDENTIFIED BY      id-pe-biometricInfo }

BiometricSyntax ::= SEQUENCE OF BiometricData

BiometricData ::= SEQUENCE {
    typeOfBiometricData TypeOfBiometricData,
    hashAlgorithm       AlgorithmIdentifier,
    biometricDataHash   OCTET STRING,
    sourceDataUri       IA5String OPTIONAL,
    ... -- For future extensions -- }

TypeOfBiometricData ::= CHOICE {
    predefinedBiometricType PredefinedBiometricType,
    biometricDataOid        OBJECT IDENTIFIER }

PredefinedBiometricType ::= INTEGER { picture(0),
    handwritten-signature(1)} (picture|handwritten-signature,...)

-- QC Statements Extension

qcStatements  EXTENSION ::= {
    SYNTAX        QCStatements
    IDENTIFIED BY id-pe-qcStatements }

QCStatements ::= SEQUENCE OF QCStatement

QCStatement ::= SEQUENCE {
    statementId   QC-STATEMENT.&id({SupportedStatements}),
    statementInfo QC-STATEMENT.&Type
    ({SupportedStatements}{@statementId}) OPTIONAL }

QC-STATEMENT ::= CLASS {
    &id   OBJECT IDENTIFIER UNIQUE,
    &Type OPTIONAL }



Santesson, et al.           Standards Track                    [Page 23]

RFC 3039             Qualified Certificates Profile         January 2001


WITH SYNTAX {
    [SYNTAX &Type] IDENTIFIED BY &id }

qcStatement-1 QC-STATEMENT ::= { SYNTAX SemanticsInformation
    IDENTIFIED BY id-qcs-pkixQCSyntax-v1}
    --  This statement identifies conformance with syntax and
    --  semantics defined in this Qualified Certificate profile
    --  (Version 1). The SemanticsInformation may optionally contain
    --  additional semantics information as specified.

SemanticsInformation ::= SEQUENCE {
    semanticsIdentifier         OBJECT IDENTIFIER OPTIONAL,
    nameRegistrationAuthorities NameRegistrationAuthorities OPTIONAL
    }(WITH COMPONENTS {..., semanticsIdentifier PRESENT}|
      WITH COMPONENTS {..., nameRegistrationAuthorities PRESENT})

NameRegistrationAuthorities ::= SEQUENCE SIZE (1..MAX) OF GeneralName

-- The following information object set is defined to constrain the
-- set of attributes applications are required to recognize as QCSs.
SupportedStatements QC-STATEMENT ::= {
    qcStatement-1, ... -- For future extensions -- }

END

B. A Note on Attributes

   This document defines several new attributes, both for use in the
   subject field of issued certificates and in the
   subjectDirectoryAttributes extension.  In the interest of conformity,
   they have been defined here using the ASN.1 ATTRIBUTE definition from
   RFC 2459, which is sufficient for the purposes of this document, but
   greatly simplified in comparison with ISO/ITU's definition.  A
   complete definition of these new attributes (including matching
   rules), along with object classes to support them in LDAP-accessible
   directories, can be found in [PKCS 9].

C. Example Certificate

   This section contains the ASN.1 structure, an ASN.1 dump, and the
   DER-encoding of a certificate issued in conformance with this
   profile.  The example has been developed with the help of the OSS
   ASN.1 compiler.  The certificate has the following characteristics:

      1.  The certificate is signed with RSA and the SHA-1 hash
          algorithm
      2.  The issuer's distinguished name is O=GMD - Forschungszentrum
          Informationstechnik GmbH; C=DE



Santesson, et al.           Standards Track                    [Page 24]

RFC 3039             Qualified Certificates Profile         January 2001


      3.  The subject's distinguished name is CN=Petra M.  Barzin, O=GMD
          - Forschungszentrum Informationstechnik GmbH, C=DE
      4.  The certificate was issued on May 1, 2000 and will expire on
          November 1, 2000
      5.  The certificate contains a 1024 bit RSA key
      6.  The certificate includes a critical key usage extension
          exclusively indicating non-repudiation
      7.  The certificate includes a certificate policy identifier
          extension indicating the practices and procedures undertaken
          by the issuing CA (object identifier 1.3.36.8.1.1).  The
          certificate policy object identifier is defined by TeleTrust,
          Germany.  It is required to be set in a certificate conformant
          to the German digital signature law.
      8.  The certificate includes a subject directory attributes
          extension containing the following attributes:

          surname:               Barzin
          given name:            Petra
          date of birth:         October, 14th 1971
          place of birth:        Darmstadt
          country of citizenship:Germany
          gender:                Female

      9.  The certificate includes a qualified statement private
          extension indicating that the naming registration authority's
          name as "municipality@darmstadt.de".
      10. The certificate includes, in conformance with RFC 2459, an
          authority key identifier extension.

C.1 ASN.1 Structure

C.1.1 Extensions

   Since extensions are DER-encoded already when placed in the structure
   to be signed, they are for clarity shown here in the value notation
   defined in [X.680].

C.1.1.1 The subjectDirectoryAttributes extension

   petrasSubjDirAttrs AttributesSyntax ::= {
       {
           type id-pda-countryOfCitizenship,
           values {
               PrintableString : "DE"
           }
       },
       {
           type id-pda-gender,



Santesson, et al.           Standards Track                    [Page 25]

RFC 3039             Qualified Certificates Profile         January 2001


           values {
               PrintableString : "F"
           }
       },
       {
           type id-pda-dateOfBirth,
           values {
               GeneralizedTime : "197110140000Z"
           }
       },
       {
           type id-pda-placeOfBirth,
           values {
               DirectoryString : utf8String : "Darmstadt"

⌨️ 快捷键说明

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