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

📄 draft-ietf-pkix-ldap-pki-schema-00.txt

📁 PKIX的RFC英文文档
💻 TXT
📖 第 1 页 / 共 4 页
字号:
4. Public Key Certificate Matching Rules and Assertion SyntaxesX.509 [9] supports both equality and flexible certificate matching rules by the server, via the certificateExactMatch and certificateMatch MATCHING-RULEs respectively. (For example, a client may flexibly search for certificates with a particular validity time, key usage, policy or other field.) LDAP servers MUST support the certificateExactMatch matching rule. Clients MAY support certificateExactMatch values for equalityMatch filters. LDAPv3 servers SHOULD support the certificateMatch matching rule. If the server does support flexible matching (either via certificateMatch or some other matching rule), then the extensibleMatch filter of the Search request MUST be supported. Clients MAY support the extensibleMatch filter and one or more of the optional elements of certificateMatch.The LDAP-specific (i.e. string) encodings for the assertion syntaxes defined in this document are specified by the Generic String Encoding Rules (GSER) [13]. The ABNF in this document for these assertion syntaxes is provided only as a convenience and is equivalent to the encoding specified by the application of [13]. (The only exception to this is the alternative simple endoding for certificatExactMatch.) Since the associated ASN.1 types for the assertion syntaxes described here may be extended in future editions of X.509 [9], the provided ABNF should be regarded as a snapshot in time. The LDAP-specific encoding for any extension to a syntax's underlying ASN.1 type can be determined from [13]. In the event that there is a discrepancy between the ABNF in this document and the encoding determined by [13], [13] is to be taken as definitive. 4.1  Certificate Exact MatchCertificate exact match is defined in 11.3.1 of [9].  The string description of the certificateExactMatch matching rule is:    ( 2.5.13.34 NAME 'certificateExactMatch'    SYNTAX 1.2.826.0.1.3344810.7.1 )The LDAP syntax definition of the above is:      (1.2.826.0.1.3344810.7.1 DESC 'Certificate Serial Number and Issuer Name' )The LDAP-specific encoding of an assertion value of this syntax is a choice between - the GSER encoding defined by [13]<GSERCertificateExactAssertion> and - the simple encoding defined by <SimpleCertificateExactAssertion>. The full syntax is described by the following Augmented BNF [10]:CertificateExactAssertion = GSERCertificateExactAssertion /                            SimpleCertificateExactAssertionSimpleCertificateExactAssertion = CertificateSerialNumber "$" LDAPDN<LDAPDN> is a string encoding of a distinguished name as defined in [6].GSERCertificateExactAssertion = "{" sp cea-serialNumber ","                                sp cea-issuer                                sp "}"cea-serialNumber = id-serialNumber msp CertificateSerialNumbercea-issuer       = id-issuer       msp Nameid-serialNumber = %x73.65.72.69.61.6C.4E.75.6D.62.65.72                     ; "serialNumber"id-issuer       = %x69.73.73.75.65.72 ; "issuer"Name           = id-rdnSequence ":" RDNSequenceid-rdnSequence = %x72.64.6E.53.65.71.75.65.6E.63.65 ; "rdnSequence"CertificateSerialNumber = INTEGERNote. [14] states that CAs MUST force the serialNumber to be a non-negative integer. Non-conforming CAs MAY issue certificates with serial numbers that are negative, or zero.  Certificate users SHOULD be prepared to handle such certificates.The <sp>, <msp>, <RDNSequence> and <INTEGER> rules are given in [16]. 4.2 Certificate MatchCertificate match is defined in 11.3.2 of [9]. The string descriptionof the certificateMatch matching rule is:( 2.5.13.35 NAME 'certificateMatch'    SYNTAX 1.2.826.0.1.3344810.7.2)The syntax definition is:(1.2.826.0.1.3344810.7.2 DESC 'Certificate Assertion' )The ASN.1 for CertificateAssertion is defined in 11.3.2 of [9], asare the semantics of each of its component types.The LDAP-specific encoding of an assertion value of this syntax is defined by [13] and described by the following ABNF:CertificateAssertion = "{"    [ sp ca-serialNumber ]                          [ sep sp ca-issuer ]                          [ sep sp ca-subjectKeyIdentifier ]                          [ sep sp ca-authorityKeyIdentifier ]                          [ sep sp ca-certificateValid ]                          [ sep sp ca-privateKeyValid ]                          [ sep sp ca-subjectPublicKeyAlgID ]                          [ sep sp ca-keyUsage ]                          [ sep sp ca-subjectAltName ]                          [ sep sp ca-policy ]                          [ sep sp ca-pathToName ]                          [ sep sp ca-subject ]                          [ sep sp ca-nameConstraints ]                                sp "}"The <sep> rule is given in [16].ca-serialNumber           = id-serialNumber msp                               CertificateSerialNumberca-issuer                 = id-issuer msp Nameca-subjectKeyIdentifier   = id-subjectKeyIdentifier msp                               SubjectKeyIdentifierca-authorityKeyIdentifier = id-authorityKeyIdentifier msp                               AuthorityKeyIdentifierca-certificateValid       = certificateValid msp Timeca-privateKeyValid        = id-privateKeyValid msp GeneralizedTimeca-subjectPublicKeyAlgID  = id-subjectPublicKeyAlgID msp                               OBJECT-IDENTIFIERca-keyUsage               = id-keyUsage msp KeyUsageca-subjectAltName         = id-subjectAltName msp AltNameTypeca-policy                 = id-policy msp CertPolicySetca-pathToName             = id-pathToName msp Nameca-subject                = id-subject msp Nameca-nameConstraints        = id-nameConstraints msp                               NameConstraintsSyntaxid-subjectKeyIdentifier   = %x73.75.62.6A.65.63.74.4B.65.79.49.64.65                               %x6E.74.69.66.69.65.72                               ; "subjectKeyIdentifier"id-authorityKeyIdentifier = %x61.75.74.68.6F.72.69.74.79.4B.65.79.49                               %x64.65.6E.74.69.66.69.65.72                               ; "authorityKeyIdentifier"id-certificateValid       = %x63.65.72.74.69.66.69.63.61.74.65.56.61                               %x6C.69.64 ; "certificateValid"id-privateKeyValid        = %x70.72.69.76.61.74.65.4B.65.79.56.61.6C                               %x69.64 ; "privateKeyValid"id-subjectPublicKeyAlgID  = %x73.75.62.6A.65.63.74.50.75.62.6C.69.63                               %x4B.65.79.41.6C.67.49.44                               ; "subjectPublicKeyAlgID"id-keyUsage               = %x6B.65.79.55.73.61.67.65 ; "keyUsage"id-subjectAltName         = %x73.75.62.6A.65.63.74.41.6C.74.4E.61.6D                               %x65 ; "subjectAltName"id-policy                 = %x70.6F.6C.69.63.79 ; "policy"id-pathToName             = %x70.61.74.68.54.6F.4E.61.6D.65                               ; "pathToName"id-subject                = %x73.75.62.6A.65.63.74 ; "subject"id-nameConstraints        = %x6E.61.6D.65.43.6F.6E.73.74.72.61.69.6E                               %x74.73 ; "nameConstraints"SubjectKeyIdentifier = KeyIdentifierKeyIdentifier = OCTET-STRINGAuthorityKeyIdentifier = "{"    [ sp aki-keyIdentifier ]                            [ sep sp aki-authorityCertIssuer ]                            [ sep sp aki-authorityCertSerialNumber ]                                  sp "}"aki-keyIdentifier       = id-keyIdentifier msp KeyIdentifieraki-authorityCertIssuer = id-authorityCertIssuer msp GeneralNamesGeneralNames = "{" sp GeneralName *( "," sp GeneralName ) sp "}"GeneralName  = gn-otherName               / gn-rfc822Name               / gn-dNSName               / gn-x400Address               / gn-directoryName               / gn-ediPartyName               / gn-uniformResourceIdentifier               / gn-iPAddress               / gn-registeredIDgn-otherName     = id-otherName       ":" OtherNamegn-rfc822Name    = id-rfc822Name      ":" IA5Stringgn-dNSName       = id-dNSName         ":" IA5Stringgn-x400Address   = id-x400Address     ":" ORAddressgn-directoryName = id-directoryName   ":" Namegn-ediPartyName  = id-ediPartyName    ":" EDIPartyNamegn-iPAddress     = id-iPAddress       ":" OCTET-STRINGgn-registeredID  = gn-id-registeredID ":" OBJECT-IDENTIFIERgn-uniformResourceIdentifier = id-uniformResourceIdentifier                                  ":" IA5Stringid-otherName       = %x6F.74.68.65.72.4E.61.6D.65 ; "otherName"gn-id-registeredID = %x72.65.67.69.73.74.65.72.65.64.49.44                        ; "registeredID"OtherName  = "{" sp on-type-id "," sp on-value sp "}"on-type-id = id-type-id msp OBJECT-IDENTIFIERon-value   = id-value msp Valueid-type-id = %x74.79.70.65.2D.69.64 ; "type-id"id-value   = %x76.61.6C.75.65       ; "value"The <Value> rule is defined in [13].EDIPartyName    = "{" [ sp nameAssigner "," ] sp partyName sp "}"nameAssigner    = id-nameAssigner msp DirectoryStringpartyName       = id-partyName msp DirectoryStringid-nameAssigner = %x6E.61.6D.65.41.73.73.69.67.6E.65.72                     ; "nameAssigner"id-partyName    = %x70.61.72.74.79.4E.61.6D.65 ; "partyName"aki-authorityCertSerialNumber = id-authorityCertSerialNumber msp                                   CertificateSerialNumberid-keyIdentifier       = %x6B.65.79.49.64.65.6E.74.69.66.69.65.72                            ; "keyIdentifier"id-authorityCertIssuer = %x61.75.74.68.6F.72.69.74.79.43.65.72.74.49                            %x73.73.75.65.72 ; "authorityCertIssuer"id-authorityCertSerialNumber = %x61.75.74.68.6F.72.69.74.79.43.65.72                                  %x74.53.65.72.69.61.6C.4E.75.6D.62                                  %x65.72                                  ; "authorityCertSerialNumber"Time                 = time-utcTime / time-generalizedTimetime-utcTime         = id-utcTime         ":" UTCTimetime-generalizedTime = id-generalizedTime ":" GeneralizedTimeid-utcTime           = %x75.74.63.54.69.6D.65 ; "utcTime"id-generalizedTime   = %x67.65.6E.65.72.61.6C.69.7A.65.64.54.69.6D.65                          ; "generalizedTime"KeyUsage           = BIT-STRING / key-usage-bit-listkey-usage-bit-list = "{" [ sp key-usage *( "," sp key-usage ) ] sp "}"The <key-usage-bit-list> rule encodes the one bits in a KeyUsage value as a comma separated list of identifiers. The <BIT-STRING> rule is given in [16].key-usage = id-digitalSignature            / id-nonRepudiation            / id-keyEncipherment            / id-dataEncipherment            / id-keyAgreement            / id-keyCertSign            / id-cRLSign            / id-encipherOnly            / id-decipherOnlyid-digitalSignature = %x64.69.67.69.74.61.6C.53.69.67.6E.61.74.75.72                         %x65 ; "digitalSignature"id-nonRepudiation   = %x6E.6F.6E.52.65.70.75.64.69.61.74.69.6F.6E                         ; "nonRepudiation"id-keyEncipherment  = %x6B.65.79.45.6E.63.69.70.68.65.72.6D.65.6E.74                         ; "keyEncipherment"id-dataEncipherment = %x64.61.74.61.45.6E.63.69.70.68.65.72.6D.65.6E                         %x74 ; "dataEncipherment"id-keyAgreement     = %x6B.65.79.41.67.72.65.65.6D.65.6E.74                         ; "keyAgreement"id-keyCertSign      = %x6B.65.79.43.65.72.74.53.69.67.6E                         ; "keyCertSign"id-cRLSign          = %x63.52.4C.53.69.67.6E ; "cRLSign"id-encipherOnly     = %x65.6E.63.69.70.68.65.72.4F.6E.6C.79                         ; "encipherOnly"id-decipherOnly     = %x64.65.63.69.70.68.65.72.4F.6E.6C.79                         ; "decipherOnly"AltNameType = ant-builtinNameForm / ant-otherNameFormant-builtinNameForm = id-builtinNameForm ":" BuiltinNameFormant-otherNameForm   = id-otherNameForm   ":" OBJECT-IDENTIFIERid-builtinNameForm = %x62.75.69.6C.74.69.6E.4E.61.6D.65.46.6F.72.6D                           ; "builtinNameForm"id-otherNameForm   = %x6F.74.68.65.72.4E.61.6D.65.46.6F.72.6D                           ; "otherNameForm"BuiltinNameForm  = id-rfc822Name                   / id-dNSName                   / id-x400Address                   / id-directoryName                   / id-ediPartyName                   / id-uniformResourceIdentifier                   / id-iPAddress                   / id-registeredIdid-rfc822Name    = %x72.66.63.38.32.32.4E.61.6D.65 ; "rfc822Name"id-dNSName       = %x64.4E.53.4E.61.6D.65 ; "dNSName"id-x400Address   = %x78.34.30.30.41.64.64.72.65.73.73                      ; "x400Address"id-directoryName = %x64.69.72.65.63.74.6F.72.79.4E.61.6D.65                      ; "directoryName"id-ediPartyName  = %x65.64.69.50.61.72.74.79.4E.61.6D.65                      ; "ediPartyName"id-iPAddress     = %x69.50.41.64.64.72.65.73.73 ; "iPAddress"id-registeredId  = %x72.65.67.69.73.74.65.72.65.64.49.64                      ; "registeredId"id-uniformResourceIdentifier = %x75.6E.69.66.6F.72.6D.52.65.73.6F.75

⌨️ 快捷键说明

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