mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
1404 lines
45 KiB
Plaintext
1404 lines
45 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
INTERNET-DRAFT Kurt D. Zeilenga
|
||
Intended Category: Standard Track OpenLDAP Foundation
|
||
Expires in six months 18 July 2005
|
||
Obsoletes: RFC 2252, RFC 2256, RFC 2587
|
||
|
||
|
||
Lightweight Directory Access Protocol (LDAP) schema
|
||
definitions for X.509 Certificates
|
||
<draft-zeilenga-ldap-x509-02.txt>
|
||
|
||
|
||
Status of this Memo
|
||
|
||
This document is intended to be, after appropriate review and
|
||
revision, submitted to the RFC Editor as an Standard Track document.
|
||
Distribution of this memo is unlimited. Technical discussion of this
|
||
document will take place on the IETF LDAP Extensions mailing list
|
||
<ldapext@ietf.org>. Please send editorial comments directly to the
|
||
author <Kurt@OpenLDAP.org>.
|
||
|
||
This document is intended to be published in conjunction to the
|
||
revised LDAP TS [Roadmap]. Together, this document and the revised
|
||
LDAP TS obsoletes RFC 2252 and RFC 2256 in their entirety.
|
||
|
||
By submitting this Internet-Draft, each author represents that any
|
||
applicable patent or other IPR claims of which he or she is aware have
|
||
been or will be disclosed, and any of which he or she becomes aware
|
||
will be disclosed, in accordance with Section 6 of BCP 79.
|
||
|
||
Internet-Drafts are working documents of the Internet Engineering Task
|
||
Force (IETF), its areas, and its working groups. Note that other
|
||
groups may also distribute working documents as Internet-Drafts.
|
||
|
||
Internet-Drafts are draft documents valid for a maximum of six months
|
||
and may be updated, replaced, or obsoleted by other documents at any
|
||
time. It is inappropriate to use Internet-Drafts as reference material
|
||
or to cite them other than as "work in progress."
|
||
|
||
The list of current Internet-Drafts can be accessed at
|
||
http://www.ietf.org/1id-abstracts.html
|
||
|
||
The list of Internet-Draft Shadow Directories can be accessed at
|
||
http://www.ietf.org/shadow.html
|
||
|
||
|
||
Copyright (C) The Internet Society (2005). All Rights Reserved.
|
||
|
||
Please see the Full Copyright section near the end of this document
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 1]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
for more information.
|
||
|
||
|
||
Abstract
|
||
|
||
This document describes schema for representing X.509 certificates,
|
||
X.521 security information, and related elements in directories
|
||
accessible using the Lightweight Directory Access Protocol (LDAP).
|
||
The LDAP definitions for these X.509 and X.521 schema elements
|
||
replaces those provided in RFC 2252 and RFC 2256.
|
||
|
||
|
||
1. Background and Intended Use
|
||
|
||
This document provides LDAP [Roadmap] schema definitions [Models] for
|
||
a subset of elements specified in X.509 [X.509] and X.521 [X.521],
|
||
including attribute types for certificates, cross certificate pairs,
|
||
and certificate revocation lists; matching rules to be used with these
|
||
attribute types; and related object classes. LDAP syntax definitions
|
||
are also provided for associated assertion and attribute values.
|
||
|
||
As the semantics of these elements are as defined in X.509 and X.521,
|
||
knowledge of X.509 and X.521 is necessary to make use of the LDAP
|
||
schema definitions provided herein.
|
||
|
||
This document, together with [Roadmap], obsoletes RFC 2252 and RFC
|
||
2256 in their entirety. The changes (in this document) made since RFC
|
||
2252 and RFC 2256 include:
|
||
- addition of pkiUser, pkiCA, and deltaCRL classes;
|
||
- update of attribute types to include equality matching rules in
|
||
accordance with their X.500 specifications;
|
||
- addition of certificate, certificate pair, certificate list, and
|
||
algorithm identifer matching rules; and
|
||
- addition of LDAP syntax for assertion syntaxes for these matching
|
||
rules.
|
||
|
||
This document obsoletes RFC 2587. The X.509 schema descriptions for
|
||
LDAPv2 [RFC1777] are Historic, as is LDAPv2 [RFC3494].
|
||
|
||
|
||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||
document are to be interpreted as described in BCP 14 [RFC2119].
|
||
|
||
Schema definitions are provided using LDAP description formats
|
||
[Models]. Definitions provided here are formatted (line wrapped) for
|
||
readability.
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 2]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
2. Syntaxes
|
||
|
||
This section describes various syntaxes used in LDAP to transfer
|
||
certificates and related data types.
|
||
|
||
|
||
2.1. Certificate
|
||
|
||
( 1.3.6.1.4.1.1466.115.121.1.8 DESC 'X.509 Certificate' )
|
||
|
||
A value of this syntax is an X.509 Certificate [X.509, clause 7].
|
||
|
||
Due to changes made to the definition of a Certificate made through
|
||
time, no LDAP-specific encoding is defined for this syntax. Values of
|
||
this syntax SHOULD be encoded using Distinguished Encoding Rules (DER)
|
||
[X.690] and MUST only be transferred using the ;binary transfer option
|
||
[Binary]. That is, by requesting and returning values using attribute
|
||
descriptions such as "userCertificate;binary".
|
||
|
||
As values of this syntax contain digitally-signed data, values of this
|
||
syntax, and the form of the value, MUST be preserved as presented.
|
||
|
||
|
||
2.2. CertificateList
|
||
|
||
( 1.3.6.1.4.1.1466.115.121.1.9 DESC 'X.509 Certificate List' )
|
||
|
||
A value of this syntax is an X.509 CertificateList [X.509, clause
|
||
7.3].
|
||
|
||
Due to changes made to the definition of a CertificateList made
|
||
through time, no LDAP-specific encoding is defined for this syntax.
|
||
Values of this syntax SHOULD be encoded using DER [X.690] and MUST
|
||
only be transferred using the ;binary transfer option [Binary]. That
|
||
is, by requesting and returning values using attribute descriptions
|
||
such as "certificateRevocationList;binary".
|
||
|
||
As values of this syntax contain digitally-signed data, values of this
|
||
syntax, and the form of the value, MUST be preserved as presented.
|
||
|
||
|
||
2.3. CertificatePair
|
||
|
||
( 1.3.6.1.4.1.1466.115.121.1.10 DESC 'X.509 Certificate Pair' )
|
||
|
||
A value of this syntax is an X.509 CertificatePair [X.509, clause
|
||
11.2.3].
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 3]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
Due to changes made to the definition of an X.509 CertificatePair made
|
||
through time, no LDAP-specific encoding is defined for this syntax.
|
||
Values of this syntax SHOULD be encoded using DER [X.690] and MUST
|
||
only be transferred using the ;binary transfer option [Binary]. That
|
||
is, by requesting and returning values using attribute descriptions
|
||
such as "crossCertificatePair;binary".
|
||
|
||
As values of this syntax contain digitally-signed data, values of this
|
||
syntax, and the form of the value, MUST be preserved as presented.
|
||
|
||
2.4 SupportedAlgorithm
|
||
|
||
( 1.3.6.1.4.1.1466.115.121.1.49
|
||
DESC 'X.509 Supported Algorithm' )
|
||
|
||
A value of this syntax is an X.509 SupportedAlgorithm [X.509, clause
|
||
11.2.7].
|
||
|
||
Due to changes made to the definition of an X.509 SupportedAlgorithm
|
||
made through time, no LDAP-specific encoding is defined for this
|
||
syntax. Values of this syntax SHOULD be encoded using DER [X.690] and
|
||
MUST only be transferred using the ;binary transfer option [Binary].
|
||
That is, by requesting and returning values using attribute
|
||
descriptions such as "supportedAlgorithms;binary".
|
||
|
||
As values of this syntax contain digitally-signed data, values of this
|
||
syntax, and the form of the value, MUST be preserved as presented.
|
||
|
||
|
||
2.5. CertificateExactAssertion
|
||
|
||
( IANA-ASSIGNED-OID.1 DESC 'X.509 Certificate Exact Assertion' )
|
||
|
||
A value of this syntax is an X.509 CertificateExactAssertion [X.509,
|
||
clause 11.3.1]. Values of this syntax MUST be encoded using the
|
||
Generic String Encoding Rules (GSER) [RFC3641]. Appendix A.1 provides
|
||
an equivalent Augmented Backus-Naur Form (ABNF) [ABNF] grammar for
|
||
this syntax.
|
||
|
||
|
||
2.6. CertificateAssertion
|
||
|
||
( IANA-ASSIGNED-OID.2 DESC 'X.509 Certificate Assertion' )
|
||
|
||
A value of this syntax is an X.509 CertificateAssertion [X.509, clause
|
||
11.3.2]. Values of this syntax MUST be encoded using GSER [RFC3641].
|
||
Appendix A.2 provides an equivalent ABNF [ABNF] grammar for this
|
||
syntax.
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 4]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
2.7. CertificatePairExactAssertion
|
||
|
||
( IANA-ASSIGNED-OID.3
|
||
DESC 'X.509 Certificate Pair Exact Assertion' )
|
||
|
||
A value of this syntax is an X.509 CertificatePairExactAssertion
|
||
[X.509, clause 11.3.3]. Values of this syntax MUST be encoded using
|
||
GSER [RFC3641]. Appendix A.3 provides an equivalent ABNF [ABNF]
|
||
grammar for this syntax.
|
||
|
||
|
||
2.8. CertificatePairAssertion
|
||
|
||
( IANA-ASSIGNED-OID.4 DESC 'X.509 Certificate Pair Assertion' )
|
||
|
||
A value of this syntax is an X.509 CertificatePairAssertion [X.509,
|
||
clause 11.3.4]. Values of this syntax MUST be encoded using GSER
|
||
[RFC3641]. Appendix A.4 provides an equivalent ABNF [ABNF] grammar
|
||
for this syntax.
|
||
|
||
|
||
2.9. CertificateListExactAssertion
|
||
|
||
( IANA-ASSIGNED-OID.5
|
||
DESC 'X.509 Certificate List Exact Assertion' )
|
||
|
||
A value of this syntax is an X.509 CertificateListExactAssertion
|
||
[X.509, clause 11.3.5]. Values of this syntax MUST be encoded using
|
||
GSER [RFC3641]. Appendix A.5 provides an equivalent ABNF grammar for
|
||
this syntax.
|
||
|
||
|
||
2.10. CertificateListAssertion
|
||
|
||
( IANA-ASSIGNED-OID.6 DESC 'X.509 Certificate List Assertion' )
|
||
|
||
A value of this syntax is an X.509 CertificateListAssertion [X.509,
|
||
clause 11.3.6]. Values of this syntax MUST be encoded using GSER
|
||
[RFC3641]. Appendix A.6 provides an equivalent ABNF [ABNF] grammar
|
||
for this syntax.
|
||
|
||
|
||
2.11 AlgorithmIdentifier
|
||
|
||
( IANA-ASSIGNED-OID.7 DESC 'X.509 Algorithm Identifier' )
|
||
|
||
A value of this syntax is an X.509 AlgorithmIdentifier [X.509, Clause
|
||
7]. Values of this syntax MUST be encoded using GSER [RFC3641].
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 5]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
Appendix A.7 provides an equivalent ABNF [ABNF] grammar for this
|
||
syntax.
|
||
|
||
|
||
3. Matching Rules
|
||
|
||
This section introduces a set of certificate and related matching
|
||
rules for use in LDAP. These rules are intended to act in accordance
|
||
with their X.500 counterparts.
|
||
|
||
|
||
3.1. certificateExactMatch
|
||
|
||
The certificateExactMatch matching rule compares the presented
|
||
certificate exact assertion value with an attribute value of the
|
||
certificate syntax as described in clause 11.3.1 of [X.509].
|
||
|
||
( 2.5.13.34 NAME 'certificateExactMatch'
|
||
DESC 'X.509 Certificate Exact Match'
|
||
SYNTAX IANA-ASSIGNED-OID.1 )
|
||
|
||
|
||
3.2. certificateMatch
|
||
|
||
The certificateMatch matching rule compares the presented certificate
|
||
assertion value with an attribute value of the certificate syntax as
|
||
described in clause 11.3.2 of [X.509].
|
||
|
||
( 2.5.13.35 NAME 'certificateMatch'
|
||
DESC 'X.509 Certificate Match'
|
||
SYNTAX IANA-ASSIGNED-OID.2 )
|
||
|
||
|
||
3.3. certificatePairExactMatch
|
||
|
||
The certificatePairExactMatch matching rule compares the presented
|
||
certificate pair exact assertion value with an attribute value of the
|
||
certificate pair syntax as described in clause 11.3.3 of [X.509].
|
||
|
||
( 2.5.13.36 NAME 'certificatePairExactMatch'
|
||
DESC 'X.509 Certificate Pair Exact Match'
|
||
SYNTAX IANA-ASSIGNED-OID.3 )
|
||
|
||
|
||
3.4. certificatePairMatch
|
||
|
||
The certificatePairMatch matching rule compares the presented
|
||
certificate pair assertion value with an attribute value of the
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 6]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
certificate pair syntax as described in clause 11.3.4 of [X.509].
|
||
|
||
( 2.5.13.37 NAME 'certificatePairMatch'
|
||
DESC 'X.509 Certificate Pair Match'
|
||
SYNTAX IANA-ASSIGNED-OID.4 )
|
||
|
||
|
||
3.5. certificateListExactMatch
|
||
|
||
The certificateListExactMatch matching rule compares the presented
|
||
certificate list exact assertion value with an attribute value of the
|
||
certificate pair syntax as described in clause 11.3.5 of [X.509].
|
||
|
||
( 2.5.13.38 NAME 'certificateListExactMatch'
|
||
DESC 'X.509 Certificate List Exact Match'
|
||
SYNTAX IANA-ASSIGNED-OID.5 )
|
||
|
||
|
||
3.6. certificateListMatch
|
||
|
||
The certificateListMatch matching rule compares the presented
|
||
certificate list assertion value with an attribute value of the
|
||
certificate pair syntax as described in clause 11.3.6 of [X.509].
|
||
|
||
( 2.5.13.39 NAME 'certificateListMatch'
|
||
DESC 'X.509 Certificate List Match'
|
||
SYNTAX IANA-ASSIGNED-OID.6 )
|
||
|
||
|
||
3.7. algorithmIdentifierMatch
|
||
|
||
The algorithmIdentifierMatch mating rule compares a presented
|
||
algorithm identifier with an attribute value of supported algorithm as
|
||
described in clause 11.3.7 of [X.509].
|
||
|
||
( 2.5.13.40 NAME 'algorithmIdentifier'
|
||
DESC 'X.509 Algorithm Identifier Match'
|
||
SYNTAX IANA-ASSIGNED-OID.7 )
|
||
|
||
|
||
4. Attribute Types
|
||
|
||
This section details a set of certificate and related attribute types
|
||
for use in LDAP.
|
||
|
||
|
||
4.1. userCertificate
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 7]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
The userCertificate attribute holds the X.509 certificates issued to
|
||
the user by one or more certificate authorities, as discussed in
|
||
clause 11.2.1 of [X.509].
|
||
|
||
( 2.5.4.36 NAME 'userCertificate'
|
||
DESC 'X.509 user certificate'
|
||
EQUALITY certificateExactMatch
|
||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
|
||
|
||
As required by this attribute type's syntax, values of this attribute
|
||
are requested and transferred using the attribute description
|
||
"userCertificate;binary".
|
||
|
||
|
||
4.2. cACertificate
|
||
|
||
The cACertificate attribute holds the X.509 certificates issued to the
|
||
certificate authority (CA), as discussed in clause 11.2.2 of [X.509].
|
||
|
||
( 2.5.4.37 NAME 'cACertificate'
|
||
DESC 'X.509 CA certificate'
|
||
EQUALITY certificateExactMatch
|
||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
|
||
|
||
As required by this attribute type's syntax, values of this attribute
|
||
are requested and transferred using the attribute description
|
||
"cACertificate;binary".
|
||
|
||
|
||
4.3. crossCertificatePair
|
||
|
||
The crossCertificatePair attribute holds an X.509 certificate pair, as
|
||
discussed in clause 11.2.3 of [X.509].
|
||
|
||
( 2.5.4.40 NAME 'crossCertificatePair'
|
||
DESC 'X.509 cross certificate pair'
|
||
EQUALITY certificatePairExactMatch
|
||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.10 )
|
||
|
||
As required by this attribute type's syntax, values of this attribute
|
||
are requested and transferred using the attribute description
|
||
"crossCertificatePair;binary".
|
||
|
||
|
||
4.4. certificateRevocationList
|
||
|
||
The certificateRevocationList attribute holds certificate lists, as
|
||
discussed in 11.2.4 of [X.509].
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 8]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
( 2.5.4.39 NAME 'certificateRevocationList'
|
||
DESC 'X.509 certificate revocation list'
|
||
EQUALITY certificateListExactMatch
|
||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
|
||
|
||
As required by this attribute type's syntax, values of this attribute
|
||
are requested and transferred using the attribute description
|
||
"certificateRevocationList;binary".
|
||
|
||
|
||
4.5. authorityRevocationList
|
||
|
||
The authorityRevocationList attribute holds certificate lists, as
|
||
discussed in 11.2.5 of [X.509].
|
||
|
||
( 2.5.4.38 NAME 'authorityRevocationList'
|
||
DESC 'X.509 authority revocation list'
|
||
EQUALITY certificateListExactMatch
|
||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
|
||
|
||
As required by this attribute type's syntax, values of this attribute
|
||
are requested and transferred using the attribute description
|
||
"authorityRevocationList;binary".
|
||
|
||
|
||
4.6. deltaRevocationList
|
||
|
||
The deltaRevocationList attribute holds certificate lists, as
|
||
discussed in 11.2.6 of [X.509].
|
||
|
||
( 2.5.4.53 NAME 'deltaRevocationList'
|
||
DESC 'X.509 delta revocation list'
|
||
EQUALITY certificateListExactMatch
|
||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
|
||
|
||
As required by this attribute type's syntax, values of this attribute
|
||
MUST be requested and transferred using the attribute description
|
||
"deltaRevocationList;binary".
|
||
|
||
|
||
4.7. supportedAlgorithms
|
||
|
||
The supportedAlgorithms attribute holds supported algorithms, as
|
||
discussed in 11.2.7 of [X.509].
|
||
|
||
( 2.5.4.52 NAME 'supportedAlgorithms'
|
||
DESC 'X.509 supported algorithms'
|
||
EQUALITY algorithmIdentifierMatch
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 9]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.49 )
|
||
|
||
As required by this attribute type's syntax, values of this attribute
|
||
MUST be requested and transferred using the attribute description
|
||
"supportedAlgorithms;binary".
|
||
|
||
|
||
5. Object Classes
|
||
|
||
This section details a set of certificate-related object classes for
|
||
use in LDAP.
|
||
|
||
|
||
5.1. pkiUser
|
||
|
||
This object class is used in augment entries for objects that may be
|
||
subject to certificates, as defined in clause 11.1.1 of [X.509].
|
||
|
||
( 2.5.6.21 NAME 'pkiUser'
|
||
DESC 'X.509 PKI User'
|
||
SUP top AUXILIARY
|
||
MAY userCertificate )
|
||
|
||
|
||
5.2. pkiCA
|
||
|
||
This object class is used to augment entries for objects which act as
|
||
certificate authorities, as defined in clause 11.1.2 of [X.509]
|
||
|
||
( 2.5.6.22 NAME 'pkiCA'
|
||
DESC 'X.509 PKI Certificate Authority'
|
||
SUP top AUXILIARY
|
||
MAY ( cACertificate $ certificateRevocationList $
|
||
authorityRevocationList $ crossCertificatePair ) )
|
||
|
||
|
||
5.3. cRLDistributionPoint
|
||
|
||
This class is used to represent objects which act as CRL distribution
|
||
points, as discussed in clause 11.1.3 of [X.509].
|
||
|
||
( 2.5.6.19 NAME 'cRLDistributionPoint'
|
||
DESC 'X.509 CRL distribution point'
|
||
SUP top STRUCTURAL
|
||
MUST cn
|
||
MAY ( certificateRevocationList $
|
||
authorityRevocationList $ deltaRevocationList ) )
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 10]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
5.4 deltaCRL
|
||
|
||
The deltaCRL object class is used to augment entries to hold delta
|
||
revocation lists, as discussed in clause 11.1.4 of [X.509].
|
||
|
||
( 2.5.6.23 NAME 'deltaCRL'
|
||
DESC 'X.509 delta CRL'
|
||
SUP top AUXILIARY
|
||
MAY deltaRevocationList )
|
||
|
||
|
||
5.5. strongAuthenticationUser
|
||
|
||
This object class is used to augment entries for objects participating
|
||
in certificate-based authentication, as defined in clause 6.15 of
|
||
[X.521]. This object class is deprecated in favor of pkiUser.
|
||
|
||
( 2.5.6.15 NAME 'strongAuthenticationUser'
|
||
DESC 'X.521 strong authentication user'
|
||
SUP top AUXILIARY
|
||
MUST userCertificate )
|
||
|
||
|
||
5.6. userSecurityInformation
|
||
|
||
This object class is used to augment entries with needed additional
|
||
associated security information, as defined in clause 6.16 of [X.521].
|
||
|
||
( 2.5.6.18 NAME 'userSecurityInformation'
|
||
DESC 'X.521 user security information'
|
||
SUP top AUXILIARY
|
||
MAY ( supportedAlgorithms ) )
|
||
|
||
|
||
5.7. certificationAuthority
|
||
|
||
This object class is used to augment entries for objects which act as
|
||
certificate authorities, as defined in clause 6.17 of [X.521]. This
|
||
object class is deprecated in favor of pkiCA.
|
||
|
||
( 2.5.6.16 NAME 'certificationAuthority'
|
||
DESC 'X.509 certificate authority'
|
||
SUP top AUXILIARY
|
||
MUST ( authorityRevocationList $
|
||
certificateRevocationList $ cACertificate )
|
||
MAY crossCertificatePair )
|
||
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 11]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
5.8. certificationAuthority-V2
|
||
|
||
This object class is used to augment entries for objects which act as
|
||
certificate authorities, as defined in clause 6.18 of [X.521]. This
|
||
object class is deprecated in favor of pkiCA.
|
||
|
||
( 2.5.6.16.2 NAME 'certificationAuthority-V2'
|
||
DESC 'X.509 certificate authority, version 2'
|
||
SUP certificationAuthority AUXILIARY
|
||
MAY deltaRevocationList )
|
||
|
||
|
||
6. Security Considerations
|
||
|
||
General certificate considerations [RFC3280] apply to LDAP-aware
|
||
certificate applications. General LDAP security considerations
|
||
[Roadmap] apply as well.
|
||
|
||
While elements of certificate information are commonly signed, these
|
||
signatures only protect the integrity of the signed information. In
|
||
the absence of a data integrity protections in LDAP (or lower layer,
|
||
e.g. IPsec), a server is not assured that client certificate request
|
||
(or other request) was unaltered in transit. Likewise, a client
|
||
cannot be assured that the results of the query were unaltered in
|
||
transit. Hence, it is generally recommended implementations make use
|
||
of authentication and data integrity services in LDAP
|
||
[AuthMeth][Protocol].
|
||
|
||
|
||
7. IANA Considerations
|
||
|
||
7.1. Object Identifier Registration
|
||
|
||
It is requested that IANA register upon Standards Action an LDAP
|
||
Object Identifier for use in this technical specification.
|
||
|
||
Subject: Request for LDAP OID Registration
|
||
Person & email address to contact for further information:
|
||
Kurt Zeilenga <kurt@OpenLDAP.org>
|
||
Specification: RFC XXXX
|
||
Author/Change Controller: IESG
|
||
Comments:
|
||
Identifies the LDAP X.509 Certificate schema elements
|
||
introduced in this document.
|
||
|
||
|
||
7.2. Registration of the descriptor
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 12]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
It is requested that IANA update upon Standards Action the LDAP
|
||
Descriptor registry as indicated below.
|
||
|
||
Subject: Request for LDAP Descriptor Registration
|
||
Descriptor (short name): see table
|
||
Object Identifier: see table
|
||
Person & email address to contact for further information:
|
||
Kurt Zeilenga <kurt@OpenLDAP.org>
|
||
Usage: see table
|
||
Specification: RFC XXXX
|
||
Author/Change Controller: IESG
|
||
|
||
algorithmIdentifierMatch R 2.5.13.40
|
||
authorityRevocationList A 2.5.4.38 *
|
||
cACertificate A 2.5.4.37 *
|
||
cRLDistributionPoint O 2.5.6.19 *
|
||
certificateExactMatch R 2.5.13.34
|
||
certificateListExactMatch R 2.5.13.38
|
||
certificateListMatch R 2.5.13.39
|
||
certificateMatch R 2.5.13.35
|
||
certificatePairExactMatch R 2.5.13.36
|
||
certificatePairMatch R 2.5.13.37
|
||
certificateRevocationList A 2.5.4.39 *
|
||
certificationAuthority O 2.5.6.16 *
|
||
certificationAuthority-V2 O 2.5.6.16.2 *
|
||
crossCertificatePair A 2.5.4.40 *
|
||
deltaCRL O 2.5.6.23 *
|
||
deltaRevocationList A 2.5.4.53 *
|
||
pkiCA O 2.5.6.22 *
|
||
pkiUser O 2.5.6.21 *
|
||
strongAuthenticationUser O 2.5.6.15 *
|
||
supportedAlgorithms A 2.5.4.52 *
|
||
userCertificate A 2.5.4.36 *
|
||
userSecurityInformation O 2.5.6.18 *
|
||
|
||
* Updates previous registration
|
||
|
||
|
||
8. Acknowledgments
|
||
|
||
This document is based upon X.509, a product of the ITU-T. A number
|
||
of LDAP schema definitions were based on those found in RFC 2252 and
|
||
RFC 2256, both products of the IETF ASID WG. The ABNF productions in
|
||
Appendix A were provided by Steven Legg. Additional material was
|
||
borrowed from prior works by David Chadwick and Steven Legg to refine
|
||
the LDAP X.509 schema.
|
||
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 13]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
9. Author's Address
|
||
|
||
Kurt D. Zeilenga
|
||
OpenLDAP Foundation
|
||
|
||
Email: Kurt@OpenLDAP.org
|
||
|
||
|
||
10. References
|
||
|
||
[[Note to the RFC Editor: please replace the citation tags used in
|
||
referencing Internet-Drafts with tags of the form RFCnnnn where
|
||
possible.]]
|
||
|
||
|
||
10.1. Normative References
|
||
|
||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
||
Requirement Levels", BCP 14 (also RFC 2119), March 1997.
|
||
|
||
[RFC3641] Legg, S., "Generic String Encoding Rules for ASN.1
|
||
Types", RFC 3641, October 2003.
|
||
|
||
[Roadmap] Zeilenga, K. (editor), "LDAP: Technical Specification
|
||
Road Map", draft-ietf-ldapbis-roadmap-xx.txt, a work in
|
||
progress.
|
||
|
||
[Models] Zeilenga, K. (editor), "LDAP: Directory Information
|
||
Models", draft-ietf-ldapbis-models-xx.txt, a work in
|
||
progress.
|
||
|
||
[Binary] Legg, S., "Lightweight Directory Access Protocol (LDAP):
|
||
The Binary Encoding Option",
|
||
draft-legg-ldap-binary-xx.txt, a work in progress.
|
||
|
||
[X.509] International Telecommunication Union -
|
||
Telecommunication Standardization Sector, "The
|
||
Directory: Authentication Framework", X.509(2000).
|
||
|
||
[X.521] International Telecommunication Union -
|
||
Telecommunication Standardization Sector, "The
|
||
Directory: Selected Object Classes", X.521(2000).
|
||
|
||
[X.680] International Telecommunication Union -
|
||
Telecommunication Standardization Sector, "Abstract
|
||
Syntax Notation One (ASN.1) - Specification of Basic
|
||
Notation", X.680(2002) (also ISO/IEC 8824-1:2002).
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 14]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
[X.690] International Telecommunication Union -
|
||
Telecommunication Standardization Sector, "Specification
|
||
of ASN.1 encoding rules: Basic Encoding Rules (BER),
|
||
Canonical Encoding Rules (CER), and Distinguished
|
||
Encoding Rules (DER)", X.690(2002) (also ISO/IEC
|
||
8825-1:2002).
|
||
|
||
|
||
11.2. Informative References
|
||
|
||
[ABNF] Crocker, D. and P. Overell, "Augmented BNF for Syntax
|
||
Specifications: ABNF", draft-crocker-abnf-rfc2234bis, a
|
||
work in progress.
|
||
|
||
[AuthMeth] Harrison, R. (editor), "LDAP: Authentication Methods and
|
||
Connection Level Security Mechanisms",
|
||
draft-ietf-ldapbis-authmeth-xx.txt, a work in progress.
|
||
|
||
[Protocol] Sermersheim, J. (editor), "LDAP: The Protocol",
|
||
draft-ietf-ldapbis-protocol-xx.txt, a work in progress.
|
||
|
||
[RFC2156] Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay):
|
||
Mapping between X.400 and RFC 822/MIME", RFC 2156,
|
||
January 1998.
|
||
|
||
[RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
|
||
X.509 Public Key Infrastructure Certificate and
|
||
Certificate Revocation List (CRL) Profile", RFC 3280,
|
||
April 2002.
|
||
|
||
[RFC3383] Zeilenga, K., "IANA Considerations for LDAP", BCP 64
|
||
(also RFC 3383), September 2002.
|
||
|
||
[RFC3642] Legg, S., "Common Elements of GSER Encodings", RFC 3642,
|
||
October 2003.
|
||
|
||
[RFC3687] Legg, S., "Lightweight Directory Access Protocol (LDAP)
|
||
and X.500 Component Matching Rules", RFC 3687, February
|
||
2004.
|
||
|
||
[BCP64bis] Zeilenga, K., "IANA Considerations for LDAP",
|
||
draft-ietf-ldapbis-bcp64-xx.txt, a work in progress.
|
||
|
||
|
||
Appendix A.
|
||
|
||
This appendix is informative.
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 15]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
This appendix provides ABNF [ABNF] grammars for GSER-based [RFC3687]
|
||
LDAP-specific encodings specified in this document. These grammars
|
||
where produced using, and relying on, Common Elements for GSER
|
||
Encodings [RFC3342].
|
||
|
||
|
||
A.1. CertificateExactAssertion
|
||
|
||
CertificateExactAssertion = "{" sp cea-serialNumber ","
|
||
sp cea-issuer sp "}"
|
||
|
||
cea-serialNumber = id-serialNumber msp CertificateSerialNumber
|
||
cea-issuer = id-issuer msp Name
|
||
|
||
id-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 ":" RDNSequence
|
||
id-rdnSequence = %x72.64.6E.53.65.71.75.65.6E.63.65 ; 'rdnSequence'
|
||
|
||
CertificateSerialNumber = INTEGER
|
||
|
||
|
||
A.2. CertificateAssertion
|
||
|
||
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 "}"
|
||
|
||
ca-serialNumber = id-serialNumber msp CertificateSerialNumber
|
||
ca-issuer = id-issuer msp Name
|
||
ca-subjectKeyIdentifier = id-subjectKeyIdentifier msp
|
||
SubjectKeyIdentifier
|
||
ca-authorityKeyIdentifier = id-authorityKeyIdentifier msp
|
||
AuthorityKeyIdentifier
|
||
ca-certificateValid = certificateValid msp Time
|
||
ca-privateKeyValid = id-privateKeyValid msp GeneralizedTime
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 16]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
ca-subjectPublicKeyAlgID = id-subjectPublicKeyAlgID msp
|
||
OBJECT-IDENTIFIER
|
||
ca-keyUsage = id-keyUsage msp KeyUsage
|
||
ca-subjectAltName = id-subjectAltName msp AltNameType
|
||
ca-policy = id-policy msp CertPolicySet
|
||
ca-pathToName = id-pathToName msp Name
|
||
ca-subject = id-subject msp Name
|
||
ca-nameConstraints = id-nameConstraints msp NameConstraintsSyntax
|
||
|
||
id-subjectKeyIdentifier =
|
||
%x73.75.62.6A.65.63.74.4B.65.79.49.64.65.6E.74.69.66.69.65.72
|
||
; 'subjectKeyIdentifier'
|
||
id-authorityKeyIdentifier =
|
||
%x61.75.74.68.6F.72.69.74.79.4B.65.79.49.64.65.6E.74.69.66.69.65.72
|
||
; 'authorityKeyIdentifier'
|
||
id-certificateValid = %x63.65.72.74.69.66.69.63.61.74.65.56.61.6C.69.64
|
||
; 'certificateValid'
|
||
id-privateKeyValid = %x70.72.69.76.61.74.65.4B.65.79.56.61.6C.69.64
|
||
; 'privateKeyValid'
|
||
id-subjectPublicKeyAlgID =
|
||
%x73.75.62.6A.65.63.74.50.75.62.6C.69.63.4B.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.65
|
||
; '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.74.73
|
||
; 'nameConstraints'
|
||
|
||
SubjectKeyIdentifier = KeyIdentifier
|
||
|
||
KeyIdentifier = OCTET-STRING
|
||
|
||
AuthorityKeyIdentifier = "{" [ sp aki-keyIdentifier ]
|
||
[ sep sp aki-authorityCertIssuer ]
|
||
[ sep sp aki-authorityCertSerialNumber ] sp "}"
|
||
|
||
aki-keyIdentifier = id-keyIdentifier msp KeyIdentifier
|
||
aki-authorityCertIssuer = id-authorityCertIssuer msp GeneralNames
|
||
|
||
GeneralNames = "{" sp GeneralName *( "," sp GeneralName ) sp "}"
|
||
GeneralName = gn-otherName
|
||
/ gn-rfc822Name
|
||
/ gn-dNSName
|
||
/ gn-x400Address
|
||
/ gn-directoryName
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 17]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
/ gn-ediPartyName
|
||
/ gn-uniformResourceIdentifier
|
||
/ gn-iPAddress
|
||
/ gn-registeredID
|
||
|
||
gn-otherName = id-otherName ":" OtherName
|
||
gn-rfc822Name = id-rfc822Name ":" IA5String
|
||
gn-dNSName = id-dNSName ":" IA5String
|
||
gn-x400Address = id-x400Address ":" ORAddress
|
||
gn-directoryName = id-directoryName ":" Name
|
||
gn-ediPartyName = id-ediPartyName ":" EDIPartyName
|
||
gn-iPAddress = id-iPAddress ":" OCTET-STRING
|
||
gn-registeredID = gn-id-registeredID ":" OBJECT-IDENTIFIER
|
||
|
||
gn-uniformResourceIdentifier = id-uniformResourceIdentifier
|
||
":" IA5String
|
||
|
||
id-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-IDENTIFIER
|
||
on-value = id-value msp Value
|
||
;; <Value> as defined in Section 8 of [RFC3786]
|
||
|
||
id-type-id = %x74.79.70.65.2D.69.64 ; 'type-id'
|
||
id-value = %x76.61.6C.75.65 ; 'value'
|
||
|
||
ORAddress = dquote *SafeIA5Character dquote
|
||
SafeIA5Character = %x01-21 / %x23-7F / ; ASCII minus dquote
|
||
dquote dquote ; escaped double quote
|
||
dquote = %x22 ; '"' (double quote)
|
||
|
||
;; Note: The <ORAddress> rule encodes the x400Address component
|
||
;; of a GeneralName as a character string between double quotes.
|
||
;; The character string is first derived according to Section 4.1
|
||
;; of [RFC2156], and then any embedded double quotes are escaped
|
||
;; by being repeated. This resulting string is output between
|
||
;; double quotes.
|
||
|
||
EDIPartyName = "{" [ sp nameAssigner "," ] sp partyName sp "}"
|
||
nameAssigner = id-nameAssigner msp DirectoryString
|
||
partyName = id-partyName msp DirectoryString
|
||
id-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'
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 18]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
aki-authorityCertSerialNumber = id-authorityCertSerialNumber
|
||
msp CertificateSerialNumber
|
||
|
||
id-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.73.73.75.65.72
|
||
; 'authorityCertIssuer'
|
||
|
||
id-authorityCertSerialNumber = %x61.75.74.68.6F.72.69.74.79.43
|
||
%x65.72.74.53.65.72.69.61.6C.4E.75.6D.62.65.72
|
||
; 'authorityCertSerialNumber'
|
||
|
||
Time = time-utcTime / time-generalizedTime
|
||
time-utcTime = id-utcTime ":" UTCTime
|
||
time-generalizedTime = id-generalizedTime ":" GeneralizedTime
|
||
id-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-list
|
||
key-usage-bit-list = "{" [ sp key-usage *( "," sp key-usage ) ] sp "}"
|
||
|
||
;; Note: The <key-usage-bit-list> rule encodes the one bits in
|
||
;; a KeyUsage value as a comma separated list of identifiers.
|
||
|
||
key-usage = id-digitalSignature
|
||
/ id-nonRepudiation
|
||
/ id-keyEncipherment
|
||
/ id-dataEncipherment
|
||
/ id-keyAgreement
|
||
/ id-keyCertSign
|
||
/ id-cRLSign
|
||
/ id-encipherOnly
|
||
/ id-decipherOnly
|
||
|
||
id-digitalSignature = %x64.69.67.69.74.61.6C.53.69.67.6E.61.74
|
||
%x75.72.65 ; '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'
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 19]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
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-otherNameForm
|
||
|
||
ant-builtinNameForm = id-builtinNameForm ":" BuiltinNameForm
|
||
ant-otherNameForm = id-otherNameForm ":" OBJECT-IDENTIFIER
|
||
|
||
id-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-registeredId
|
||
|
||
id-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
|
||
%x72.63.65.49.64.65.6E.74.69.66.69.65.72
|
||
; 'uniformResourceIdentifier'
|
||
|
||
CertPolicySet = "{" sp CertPolicyId *( "," sp CertPolicyId ) sp "}"
|
||
CertPolicyId = OBJECT-IDENTIFIER
|
||
|
||
NameConstraintsSyntax = "{" [ sp ncs-permittedSubtrees ]
|
||
[ sep sp ncs-excludedSubtrees ] sp "}"
|
||
|
||
ncs-permittedSubtrees = id-permittedSubtrees msp GeneralSubtrees
|
||
ncs-excludedSubtrees = id-excludedSubtrees msp GeneralSubtrees
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 20]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
id-permittedSubtrees =
|
||
%x70.65.72.6D.69.74.74.65.64.53.75.62.74.72.65.65.73
|
||
; 'permittedSubtrees'
|
||
id-excludedSubtrees =
|
||
%x65.78.63.6C.75.64.65.64.53.75.62.74.72.65.65.73
|
||
; 'excludedSubtrees'
|
||
|
||
GeneralSubtrees = "{" sp GeneralSubtree
|
||
*( "," sp GeneralSubtree ) sp "}"
|
||
GeneralSubtree = "{" sp gs-base
|
||
[ "," sp gs-minimum ]
|
||
[ "," sp gs-maximum ] sp "}"
|
||
|
||
gs-base = id-base msp GeneralName
|
||
gs-minimum = id-minimum msp BaseDistance
|
||
gs-maximum = id-maximum msp BaseDistance
|
||
|
||
id-base = %x62.61.73.65 ; 'base'
|
||
id-minimum = %x6D.69.6E.69.6D.75.6D ; 'minimum'
|
||
id-maximum = %x6D.61.78.69.6D.75.6D ; 'maximum'
|
||
|
||
BaseDistance = INTEGER-0-MAX
|
||
|
||
|
||
A.3. CertificatePairExactAssertion
|
||
|
||
CertificatePairExactAssertion = "{" [ sp cpea-issuedTo ]
|
||
[sep sp cpea-issuedBy ] sp "}"
|
||
;; At least one of <cpea-issuedTo> or <cpea-issuedBy> MUST be present.
|
||
|
||
cpea-issuedTo = id-issuedToThisCAAssertion msp
|
||
CertificateExactAssertion
|
||
cpea-issuedBy = id-issuedByThisCAAssertion msp
|
||
CertificateExactAssertion
|
||
|
||
id-issuedToThisCAAssertion = %x69.73.73.75.65.64.54.6F.54.68.69.73
|
||
%x43.41.41.73.73.65.72.74.69.6F.6E ; 'issuedToThisCAAssertion'
|
||
id-issuedByThisCAAssertion = %x69.73.73.75.65.64.42.79.54.68.69.73
|
||
%x43.41.41.73.73.65.72.74.69.6F.6E ; 'issuedByThisCAAssertion'
|
||
|
||
|
||
A.4. CertificatePairAssertion
|
||
|
||
CertificatePairAssertion = "{" [ sp cpa-issuedTo ]
|
||
[sep sp cpa-issuedBy ] sp "}"
|
||
;; At least one of <cpa-issuedTo> and <cpa-issuedBy> MUST be present.
|
||
|
||
cpa-issuedTo = id-issuedToThisCAAssertion msp CertificateAssertion
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 21]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
cpa-issuedBy = id-issuedByThisCAAssertion msp CertificateAssertion
|
||
|
||
|
||
A.5. CertificateListExactAssertion
|
||
|
||
CertificateListExactAssertion = "{" sp clea-issuer ","
|
||
sp clea-thisUpdate
|
||
[ "," sp clea-distributionPoint ] sp "}"
|
||
|
||
clea-issuer = id-issuer msp Name
|
||
clea-thisUpdate = id-thisUpdate msp Time
|
||
clea-distributionPoint = id-distributionPoint msp
|
||
DistributionPointName
|
||
|
||
id-thisUpdate = %x74.68.69.73.55.70.64.61.74.65 ; 'thisUpdate'
|
||
id-distributionPoint =
|
||
%x64.69.73.74.72.69.62.75.74.69.6F.6E.50.6F.69.6E.74
|
||
; 'distributionPoint'
|
||
|
||
DistributionPointName = dpn-fullName / dpn-nameRelativeToCRLIssuer
|
||
|
||
dpn-fullName = id-fullName ":" GeneralNames
|
||
dpn-nameRelativeToCRLIssuer = id-nameRelativeToCRLIssuer ":"
|
||
RelativeDistinguishedName
|
||
|
||
id-fullName = %x66.75.6C.6C.4E.61.6D.65 ; 'fullName'
|
||
id-nameRelativeToCRLIssuer = %x6E.61.6D.65.52.65.6C.61.74.69.76.65
|
||
%x54.6F.43.52.4C.49.73.73.75.65.72 ; 'nameRelativeToCRLIssuer'
|
||
|
||
|
||
A.6. CertificateListAssertion
|
||
|
||
CertificateListAssertion = "{" [ sp cla-issuer ]
|
||
[ sep sp cla-minCRLNumber ]
|
||
[ sep sp cla-maxCRLNumber ]
|
||
[ sep sp cla-reasonFlags ]
|
||
[ sep sp cla-dateAndTime ]
|
||
[ sep sp cla-distributionPoint ]
|
||
[ sep sp cla-authorityKeyIdentifier ] sp "}"
|
||
|
||
cla-issuer = id-issuer msp Name
|
||
cla-minCRLNumber = id-minCRLNumber msp CRLNumber
|
||
cla-maxCRLNumber = id-maxCRLNumber msp CRLNumber
|
||
cla-reasonFlags = id-reasonFlags msp ReasonFlags
|
||
cla-dateAndTime = id-dateAndTime msp Time
|
||
|
||
cla-distributionPoint = id-distributionPoint msp
|
||
DistributionPointName
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 22]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
cla-authorityKeyIdentifier = id-authorityKeyIdentifier msp
|
||
AuthorityKeyIdentifier
|
||
|
||
id-minCRLNumber = %x6D.69.6E.43.52.4C.4E.75.6D.62.65.72
|
||
; 'minCRLNumber'
|
||
id-maxCRLNumber = %x6D.61.78.43.52.4C.4E.75.6D.62.65.72
|
||
; 'maxCRLNumber'
|
||
id-reasonFlags = %x72.65.61.73.6F.6E.46.6C.61.67.73 ; 'reasonFlags'
|
||
id-dateAndTime = %x64.61.74.65.41.6E.64.54.69.6D.65 ; 'dateAndTime'
|
||
|
||
CRLNumber = INTEGER-0-MAX
|
||
|
||
ReasonFlags = BIT-STRING
|
||
/ "{" [ sp reason-flag *( "," sp reason-flag ) ] sp "}"
|
||
|
||
reason-flag = id-unused
|
||
/ id-keyCompromise
|
||
/ id-cACompromise
|
||
/ id-affiliationChanged
|
||
/ id-superseded
|
||
/ id-cessationOfOperation
|
||
/ id-certificateHold
|
||
/ id-privilegeWithdrawn
|
||
/ id-aACompromise
|
||
|
||
id-unused = %x75.6E.75.73.65.64 ; 'unused'
|
||
id-keyCompromise = %x6B.65.79.43.6F.6D.70.72.6F.6D.69.73.65
|
||
; 'keyCompromise'
|
||
id-cACompromise = %x63.41.43.6F.6D.70.72.6F.6D.69.73.65
|
||
; 'cACompromise'
|
||
id-affiliationChanged =
|
||
%x61.66.66.69.6C.69.61.74.69.6F.6E.43.68.61.6E.67.65.64
|
||
; 'affiliationChanged'
|
||
id-superseded = %x73.75.70.65.72.73.65.64.65.64 ; 'superseded'
|
||
id-cessationOfOperation =
|
||
%x63.65.73.73.61.74.69.6F.6E.4F.66.4F.70.65.72.61.74.69.6F.6E
|
||
; 'cessationOfOperation'
|
||
id-certificateHold = %x63.65.72.74.69.66.69.63.61.74.65.48.6F.6C.64
|
||
; 'certificateHold'
|
||
id-privilegeWithdrawn =
|
||
%x70.72.69.76.69.6C.65.67.65.57.69.74.68.64.72.61.77.6E
|
||
; 'privilegeWithdrawn'
|
||
id-aACompromise = %x61.41.43.6F.6D.70.72.6F.6D.69.73.65
|
||
; 'aACompromise'
|
||
|
||
|
||
A.7. AlgorithmIdentifier
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 23]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
AlgorithmIdentifier = "{" sp ai-algorithm
|
||
[ "," sp ai-parameters ] sp "}"
|
||
|
||
ai-algorithm = id-algorithm msp OBJECT-IDENTIFIER
|
||
ai-parameters = id-parameters msp Value
|
||
id-algorithm = %x61.6C.67.6F.72.69.74.68.6D ; 'algorithm'
|
||
id-parameters = %x70.61.72.61.6D.65.74.65.72.73 ; 'parameters'
|
||
|
||
|
||
|
||
Intellectual Property Rights
|
||
|
||
The IETF takes no position regarding the validity or scope of any
|
||
Intellectual Property Rights or other rights that might be claimed to
|
||
pertain to the implementation or use of the technology described in
|
||
this document or the extent to which any license under such rights
|
||
might or might not be available; nor does it represent that it has
|
||
made any independent effort to identify any such rights. Information
|
||
on the procedures with respect to rights in RFC documents can be found
|
||
in BCP 78 and BCP 79.
|
||
|
||
Copies of IPR disclosures made to the IETF Secretariat and any
|
||
assurances of licenses to be made available, or the result of an
|
||
attempt made to obtain a general license or permission for the use of
|
||
such proprietary rights by implementers or users of this specification
|
||
can be obtained from the IETF on-line IPR repository at
|
||
http://www.ietf.org/ipr.
|
||
|
||
The IETF invites any interested party to bring to its attention any
|
||
copyrights, patents or patent applications, or other proprietary
|
||
rights that may cover technology that may be required to implement
|
||
this standard. Please address the information to the IETF at
|
||
ietf-ipr@ietf.org.
|
||
|
||
|
||
|
||
Full Copyright
|
||
|
||
Copyright (C) The Internet Society (2005).
|
||
|
||
This document is subject to the rights, licenses and restrictions
|
||
contained in BCP 78, and except as set forth therein, the authors
|
||
retain all their rights.
|
||
|
||
This document and the information contained herein are provided on an
|
||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
|
||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 24]
|
||
|
||
INTERNET-DRAFT LDAP X.509 Schema 18 July 2005
|
||
|
||
|
||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
|
||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Zeilenga draft-zeilenga-ldap-x509-02 [Page 25]
|
||
|