Groupe de travail Réseau

K. Zeilenga, OpenLDAP Foundation

Request for Comments : 4523

juin 2006

RFC rendues obsolètes : 2252, 2256, 2587

Traduction Claude Brière de L’Isle

Catégorie : En cours de normalisation

mai 2007



Protocole léger d’accès à un répertoire (LDAP) : Définitions de schémas pour les certificats X.509


Statut du présent mémo

Le présent document spécifie un protocole de normalisation pour la communauté de l'Internet, qui appelle à la discussion et à des suggestions pour son amélioration. Prière de se reporter à l'édition en cours des "Normes de protocole officielles de l'Internet" (STD 1) sur l'état de la normalisation et le statut de ce protocole. La distribution du présent mémoire n'est soumise à aucune restriction.


Notice de copyright

Copyright (C) The Internet Society (2006).


Résumé

Le présent document décrit le schéma de représentation des certificats X.509, des informations de sécurité X.521, et des éléments qui s’y rapportent dans les répertoires accessibles en utilisant le protocole léger d’accès à un répertoire (LDAP). Les définitions LDAP de ces éléments de schéma X.509 et X.521 remplacent ceux fournis dans les RFC 2252 et 2256.


Table des Matières

1 Introduction

2 Syntaxes

2.1 Certificate

2.2 CertificateList

2.3 CertificatePair

2.4 SupportedAlgorithm

2.5 CertificateExactAssertion

2.6 CertificateAssertion

2.7 CertificatePairExactAssertion

2.8 CertificatePairAssertion

2.9 CertificateListExactAssertion

2.10 CertificateListAssertion

2.11 AlgorithmIdentifier

3 Règles de correspondance

3.1 certificateExactMatch

3.2 certificateMatch

3.3 certificatePairExactMatch

3.4 certificatePairMatch

3.5 certificateListExactMatch

3.6 certificateListMatch

3.7 algorithmIdentifierMatch

4 Types d’attribut

4.1 userCertificate

4.2 cACertificate

4.3 crossCertificatePair

4.4 certificateRevocationList

4.5 authorityRevocationList

4.6 deltaRevocationList

4.7 supportedAlgorithms

5. Classes d’objet

5.1 pkiUser

5.2 pkiCA

5.3 cRLDistributionPoint

5.4 deltaCRL

5.5 strongAuthenticationUser

5.6 userSecurityInformation

5.7 certificationAuthority

5.8 certificationAuthority-V2

6 Considérations sur la sécurité

7 Considérations relatives à l’IANA

7.1 Enregistrement d’identifiant d’objet

7.2 Enregistrement de descripteur

8 Remerciements

9 Références

9.1 Références normatives

9.2 Références pour information

Appendice A.

A.1 CertificateExactAssertion

A.2 CertificateAssertion

A.3 CertificatePairExactAssertion

A.4 CertificatePairAssertion

A.5 CertificateListExactAssertion

A.6 CertificateListAssertion

A.7 AlgorithmIdentifier


1 Introduction

Le présent document fournit les définitions de schéma LDAP [RFC4510] [RFC4512] pour un sous ensemble d’éléments spécifiés dans X.509 et X.521, incluant les types d’attribut pour les certificats, les paires de certificats croisés, et les listes de révocation de certificats ; les règles de correspondance à utiliser avec ces types d’attributs, et les classes d’objet qui s’y rapportent. Les définitions de syntaxe LDAP sont aussi fournies pour les valeurs d’assertion et d’attribut associées.


Comme la sémantique de ces éléments est semblable à celle définie dans X.509 et X.521, la connaissance de X.509 et de X.521 est nécessaire pour utiliser les définitions de schéma LDAP fournies ici.


Le présent document, conjointement avec la [RFC4510], rend obsolètes les RFC 2252 et 2256 dans leur totalité. Les changements (dans le présent document) faits depuis la RFC 2252 et la RFC 2256 incluent :

- l’ajout des classes pkiUser, pkiCA, et deltaCRL ;

- la mise à jour des types d’attribut pour inclure les règles de concordance d’égalité conformément à leurs spécifications X.500 ;

- l’ajout des règles de correspondance de certificat, de paire de certificats, de liste de certificats, et d’identifiant d’algorithme ;

- l’ajout de la syntaxe LDAP pour les syntaxes d’assertion de ces règles de correspondance.


Le présent document rend obsolète la RFC 2587. Les descriptions de schéma X.509 pour LDAPv2 [RFC1777] sont dépassées, comme l’est LDAPv2 [RFC3494].


Les mots clés "DOIT", "NE DOIT PAS", "EXIGE", "DEVRAIT", "NE DEVRAIT PAS", "RECOMMANDÉ", "PEUT", et "FACULTATIF" dans le présent document sont à interpréter comme décrit dans le BCP 14 [RFC2119].


Les définitions de schéma sont fournies en utilisant les formats de description de LDAP [RFC4512]. Les définitions fournies ici sont formatées (coupure de ligne) pour faciliter la lecture.


2 Syntaxes

La présente section décrit diverses syntaxes utilisées dans LDAP pour transférer les certificats et les types de données qui s’y rapportent.


2.1 Certificate

( 1.3.6.1.4.1.1466.115.121.1.8 DESC 'X.509 Certificate' )

Une valeur de cette syntaxe est un certificat X.509 [X.509, Section 7].

Du fait des changements apportés à la définition d’un certificat à travers le temps, aucun codage spécifique de LDAP n’est défini pour cette syntaxe. Les valeurs de cette syntaxe DEVRAIENT être codées en utilisant les règles de codage distinctif (DER) [X.690] et ne DOIVENT être transférées qu’en utilisant l’option de transfert binaire [RFC4522] ; c’est-à-dire, en demandant et en retournant des valeurs qui utilisent des descriptions d’attribut telles que "userCertificate;binary".

Comme les valeurs de cette syntaxe contiennent des données signées numériquement, les valeurs de cette syntaxe et la forme de chaque valeur DOIVENT être préservées dans leur présentation d’origine.


2.2 CertificateList

( 1.3.6.1.4.1.1466.115.121.1.9 DESC 'X.509 Certificate List' )

Une valeur de cette syntaxe est une CertificateList X.509 [X.509, paragraphe 7.3]. Du fait des changements apportés dans le temps à la définition d’une CertificateList, aucun codage spécifique de LDAP n’est défini pour cette syntaxe. Les valeurs de cette syntaxe DEVRAIENT être codées en utilisant DER [X.690] et NE DOIVENT être transférées qu’en utilisant l’option de transfert binaire [RFC4522] ; c’est-à-dire, en demandant et en retournant les valeurs en utilisant des descriptions d’attribut telles que "certificateRevocationList;binary". Comme les valeurs de cette syntaxe contiennent des données à signature numérique, les valeurs de cette syntaxe et la forme de chaque valeur DOIVENT être préservées telles qu’elles ont été présentées.


2.3 CertificatePair

( 1.3.6.1.4.1.1466.115.121.1.10 DESC 'X.509 Certificate Pair' )

Une valeur de cette syntaxe est une CertificatePair X.509 [X.509, paragraphe 11.2.3]. Du fait des changements apportés à travers le temps à la définition d’une CertificatePair X.509, aucun codage spécifique de LDAP n’est défini pour cette syntaxe. Les valeurs de cette syntaxe DEVRAIENT être codées en utilisant DER [X.690] et NE DOIVENT être transférées qu’en utilisant l’option de transfert binaire [RFC4522] ; c’est-à-dire, en demandant et retournant les valeurs en utilisant des descriptions d’attribut telles que "crossCertificatePair;binary". Comme les valeurs de cette syntaxe contiennent des données à signature numérique, les valeurs de cette syntaxe et la forme de chaque valeur DOIVENT être préservées telles qu’elles ont été présentées.


2.4 SupportedAlgorithm

( 1.3.6.1.4.1.1466.115.121.1.49 DESC 'X.509 Supported Algorithm' )

Une valeur de cette syntaxe est un SupportedAlgorithm X.509 [X.509, paragraphe 11.2.7].

Du fait des changements apportés à travers le temps à la définition d’un SupportedAlgorithm X.509, aucun codage spécifique de LDAP n’est défini pour cette syntaxe. Les valeurs de cette syntaxe DEVRAIENT être codées en utilisant DER [X.690] et NE DOIVENT être transférées qu’en utilisant l’option de transfert binaire [RFC4522] ; c’est-à-dire, en demandant et retournant les valeurs en utilisant des descriptions d’attribut telles que "supportedAlgorithms;binary". Comme les valeurs de cette syntaxe contiennent des données à signature numérique, les valeurs de cette syntaxe et la forme de la valeur DOIVENT être préservées telles qu’elles ont été présentées.


2.5 CertificateExactAssertion

( 1.3.6.1.1.15.1 DESC 'X.509 Certificate Exact Assertion' )

Une valeur de cette syntaxe est une CertificateExactAssertion X.509 [X.509, paragraphe 11.3.1]. Les valeurs de cette syntaxe DOIVENT être codées en utilisant les règles de codage de chaîne générique (GSER, Generic String Encoding Rules) [RFC3641]. L’appendice A.1 fournit un équivalent de la grammaire du formalisme Backus-Naur augmenté (ABNF) [RFC4234] pour cette syntaxe.


2.6 CertificateAssertion

( 1.3.6.1.1.15.2 DESC 'X.509 Certificate Assertion' )

Une valeur de cette syntaxe est une CertificateAssertion X.509 [X.509, paragraphe 11.3.2]. Les valeurs de cette syntaxe DOIVENT être codées en utilisant GSER [RFC3641]. L’appendice A.2 fournit une grammaire équivalente à l’ABNF [RFC4234] pour cette syntaxe.


2.7 CertificatePairExactAssertion

( 1.3.6.1.1.15.3 DESC 'X.509 Certificate Pair Exact Assertion' )

Une valeur de cette syntaxe est une CertificatePairExactAssertion X.509 [X.509, paragraphe 11.3.3]. Les valeurs de cette syntaxe DOIVENT être codées en utilisant GSER [RFC3641]. L’appendice A.3 fournit une grammaire équivalente à l’ABNF [RFC4234] pour cette syntaxe.


2.8 CertificatePairAssertion

( 1.3.6.1.1.15.4 DESC 'X.509 Certificate Pair Assertion' )

Une valeur de cette syntaxe est une CertificatePairAssertion X.509 [X.509, paragraphe 11.3.4]. Les valeurs de cette syntaxe DOIVENT être codées en utilisant GSER [RFC3641]. L’appendice A.4 fournit une grammaire équivalente à l’ABNF [RFC4234] pour cette syntaxe.


2.9 CertificateListExactAssertion

( 1.3.6.1.1.15.5 DESC 'X.509 Certificate List Exact Assertion' )

Une valeur de cette syntaxe est une CertificateListExactAssertion X.509 [X.509, paragraphe 11.3.5]. Les valeurs de cette syntaxe DOIVENT être codées en utilisant GSER [RFC3641]. L’appendice A.5 fournit une grammaire équivalente à l’ABNF pour cette syntaxe.


2.10 CertificateListAssertion

( 1.3.6.1.1.15.6 DESC 'X.509 Certificate List Assertion' )

Une valeur de cette syntaxe est une CertificateListAssertion X.509 [X.509, paragraphe 11.3.6]. Les valeurs de cette syntaxe DOIVENT être codées en utilisant GSER [RFC3641]. L’appendice A.6 fournit une grammaire équivalente à l’ABNF [RFC4234] pour cette syntaxe.


2.11 AlgorithmIdentifier

( 1.3.6.1.1.15.7 DESC 'X.509 Algorithm Identifier' )

Une valeur de cette syntaxe est un AlgorithmIdentifier X.509 [X.509, Section 7]. Les valeurs de cette syntaxe DOIVENT être codées en utilisant la [RFC3641]. L’appendice A.7 fournit une grammaire équivalente à l’ABNF [RFC4234] pour cette syntaxe.


3 Règles de correspondance

La présente section introduit un ensemble de certificats et de règles de correspondances qui s’y rapportent à utiliser dans LDAP. Ces règles sont destinées à agir conformément à leurs contreparties dans X.500.


3.1 certificateExactMatch

La règle de correspondance certificateExactMatch compare la valeur d’assertion exacte du certificat présenté avec la valeur d’un attribut de la syntaxe de certificat comme décrit au paragraphe 11.3.1 de [X.509].

( 2.5.13.34 NAME 'certificateExactMatch' DESC 'X.509 Certificate Exact Match' SYNTAX 1.3.6.1.1.15.1 )


3.2 certificateMatch

La règle de correspondance certificateMatch compare la valeur d’assertion du certificat présenté avec la valeur d’un attribut de la syntaxe de certificat comme décrit au paragraphe 11.3.2 de [X.509].

( 2.5.13.35 NAME 'certificateMatch' DESC 'X.509 Certificate Match' SYNTAX 1.3.6.1.1.15.2 )


3.3 certificatePairExactMatch

La règle de correspondance certificatePairExactMatch compare la valeur d’assertion exacte de la paire de certificats présentée avec la valeur d’un attribut de la syntaxe de paire de certificats comme décrit au paragraphe 11.3.3 de [X.509].

( 2.5.13.36 NAME 'certificatePairExactMatch' DESC 'X.509 Certificate Pair Exact Match' SYNTAX 1.3.6.1.1.15.3 )


3.4 certificatePairMatch

La règle de correspondance certificatePairMatch compare la valeur d’assertion de la paire de certificats présentée avec la valeur d’un attribut de la syntaxe de paire de certificats comme décrit au paragraphe 11.3.4 de [X.509].

( 2.5.13.37 NAME 'certificatePairMatch' DESC 'X.509 Certificate Pair Match' SYNTAX 1.3.6.1.1.15.4 )


3.5 certificateListExactMatch

La règle de correspondance certificateListExactMatch compare la valeur d’assertion exacte de la liste de certificats présentée avec la valeur d’un attribut de la syntaxe de paire de certificats comme décrit au paragraphe 11.3.5 de [X.509].

( 2.5.13.38 NAME 'certificateListExactMatch' DESC 'X.509 Certificate List Exact Match' SYNTAX 1.3.6.1.1.15.5 )


3.6 certificateListMatch

La règle de correspondance certificateListMatch compare la valeur d’assertion de la liste de certificats présentée avec la valeur d’un attribut de la syntaxe de paire de certificats comme décrit au paragraphe 11.3.6 de [X.509].

( 2.5.13.39 NAME 'certificateListMatch' DESC 'X.509 Certificate List Match' SYNTAX 1.3.6.1.1.15.6 )


3.7 algorithmIdentifierMatch

La règle de correspondance algorithmIdentifierMatch compare un identifiant d’algorithme présenté avec la valeur d’un attribut de l’algorithme pris en charge comme décrit au paragraphe 11.3.7 de [X.509].

( 2.5.13.40 NAME 'algorithmIdentifier' DESC 'X.509 Algorithm Identifier Match' SYNTAX 1.3.6.1.1.15.7 )


4 Types d’attribut

La présente section détaille un ensemble de certificats et de types d’attributs qui s’y rapportent à utiliser dans LDAP.


4.1 userCertificate

L’attribut userCertificate détient les certificats X.509 produits à l’utilisateur par une ou plusieurs autorités de certification, comme exposé au paragraphe 11.2.1 de [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 )

Comme exigé par la syntaxe de ce type d’attribut, les valeurs de cet attribut sont demandées et transférées en utilisant la description d’attribut "userCertificate;binary".


4.2 cACertificate

L’attribut cACertificate détient les certificats X.509 produits à l’autorité de certification (CA), comme exposé au paragraphe 11.2.2 de [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 )

Comme exigé par la syntaxe de ce type d’attribut, les valeurs de cet attribut sont demandées et transférées en utilisant la description d’attribut "cACertificate;binary".


4.3 crossCertificatePair

L’attribut crossCertificatePair détient une paire de certificats X.509, comme exposé au paragraphe 11.2.3 de [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 )

Comme exigé par la syntaxe de ce type d’attribut, les valeurs de cet attribut sont demandées et transférées en utilisant la description d’attribut "crossCertificatePair;binary".


4.4 certificateRevocationList

L’attribut certificateRevocationList détient les listes de certificats, comme exposé au paragraphe 11.2.4 de [X.509].

( 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 )

Comme exigé par la syntaxe de ce type d’attribut, les valeurs de cet attribut sont demandées et transférées en utilisant la description d’attribut "certificateRevocationList;binary".


4.5 authorityRevocationList

L’attribut authorityRevocationList détient les listes de certificats, comme exposé au paragraphe 11.2.5 de [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 )

Comme exigé par la syntaxe de ce type d’attribut, les valeurs de cet attribut sont demandées et transférées en utilisant la description d’attribut "authorityRevocationList;binary".


4.6 deltaRevocationList

L’attribut deltaRevocationList détient les listes de certificats, comme exposé au paragraphe 11.2.6 de [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 )

Comme exigé par la syntaxe de ce type d’attribut, les valeurs de cet attribut DOIVENT être demandées et transférées en utilisant la description d’attribut "deltaRevocationList;binary".


4.7 supportedAlgorithms

L’attribut supportedAlgorithms détient les algorithmes pris en charge, comme exposé au paragraphe 11.2.7 de [X.509].

( 2.5.4.52 NAME 'supportedAlgorithms' DESC 'X.509 supported algorithms' EQUALITY algorithmIdentifierMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.49 )

Comme exigé par la syntaxe de ce type d’attribut, les valeurs de cet attribut DOIVENT être demandées et transférées en utilisant la description d’attribut "supportedAlgorithms;binary".


5. Classes d’objet

La présente section détaille un ensemble de classes d’objets se rapportant aux certificats à utiliser dans LDAP.


5.1 pkiUser

Cette classe d’objets est utilisée pour augmenter les entrées pour les objets qui peuvent être soumis à des certificats, comme défini au paragraphe 11.1.1 de [X.509].

( 2.5.6.21 NAME 'pkiUser' DESC 'X.509 PKI User' SUP top AUXILIARY MAY userCertificate )


5.2 pkiCA

Cette classe d’objets est utilisée pour augmenter les entrées pour les objets qui agissent comme autorités de certificat, comme défini au paragraphe 11.1.2 de [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

Cette classe est utilisée pour représenter des objets qui agissent comme points de distribution CRL, comme exposé au paragraphe 11.1.3 de [X.509].

( 2.5.6.19 NAME 'cRLDistributionPoint' DESC 'X.509 CRL distribution point' SUP top STRUCTURAL MUST cn MAY ( certificateRevocationList $ authorityRevocationList $ deltaRevocationList ) )


5.4 deltaCRL

La classe d’objet deltaCRL est utilisée pour augmenter les entrées qui détiennent des listes de révocation hold delta revocation lists, comme exposé au paragraphe 11.1.4 de [X.509].

( 2.5.6.23 NAME 'deltaCRL' DESC 'X.509 delta CRL' SUP top AUXILIARY MAY deltaRevocationList )


5.5 strongAuthenticationUser

Cette classe d’objets est utilisée pour augmenter les entrées pour les objets qui participent à l’authentification fondée sur le certificat, comme défini au paragraphe 6.15 de [X.521]. Cette classe d’objet est déconseillée au profit de pkiUser.

( 2.5.6.15 NAME 'strongAuthenticationUser' DESC 'X.521 strong authentication user' SUP top AUXILIARY MUST userCertificate )


5.6 userSecurityInformation

Cette classe d’objets est utilisée pour augmenter les entrées qui ont besoin d’informations de sécurité associée supplémentaire, comme défini au paragraphe 6.16 de [X.521].

( 2.5.6.18 NAME 'userSecurityInformation' DESC 'X.521 user security information' SUP top AUXILIARY MAY ( supportedAlgorithms ) )


5.7 certificationAuthority

Cette classe d’objets est utilisée pour augmenter les entrées pour les objets qui agissent comme autorité de certificat, comme défini au paragraphe 6.17 de [X.521]. Cette classe d’objet est déconseillée au profit de pkiCA.

( 2.5.6.16 NAME 'certificationAuthority'
DESC 'X.509 certificate authority'
SUP top AUXILIARY
MUST ( authorityRevocationList $ certificateRevocationList $ cACertificate )
MAY crossCertificatePair )


5.8 certificationAuthority-V2

Cette classe d’objets est utilisée pour augmenter les entrées pour les objets qui agissent comme autorités de certificat, comme défini au paragraphe 6.18 of [X.521]. Cette classe d’objet est déconseillée au profit de pkiCA.

( 2.5.6.16.2 NAME 'certificationAuthority-V2' DESC 'X.509 certificate authority, version 2' SUP certificationAuthority AUXILIARY MAY deltaRevocationList )


6 Considérations sur la sécurité


Les considérations générales sur les certificats [RFC3280] s’appliquent aux applications de certificat relatives à LDAP. Les considérations générales sur la sécurité pour LDAP [RFC4510] s’appliquent également.

Bien que les éléments des informations de certificat soient habituellement signés, ces signatures ne protègent que l’intégrité des informations signées. En l’absence de protections d’intégrité des données dans LDAP (ou de couche inférieure, par exemple, IPsec) un serveur n’est pas assuré qu’une demande de certificat cliente (ou une autre demande) n’a pas été altérée dans le transit. De même, un client ne peut être assuré que le résultat de l’interrogation n’a pas été altéré dans le transit. Et donc, il est généralement recommandé que les mises en œuvre utilisent les services d’authentification et d’intégrité des données de LDAP [RFC4513], [RFC4511].


7 Considérations relatives à l’IANA

7.1 Enregistrement d’identifiant d’objet

L’IANA a enregistré un identifiant d’objet LDAP [RFC4520] à utiliser dans la présente spécification technique.

Sujet : Demande d’enregistrement d’un OID LDAP

Personne et adresse de messagerie à contacter pour informations complémentaires : Kurt Zeilenga kurt@OpenLDAP.org

Spécification : RFC 4523

Auteur/Contrôleur des modifications : IESG

Commentaires : Identifie les éléments de schéma de certificat X.509 de LDAP introduits dans ce document.

7.2 Enregistrement de descripteur

L’IANA a mis à jour le registre de descripteur LDAP [RFC44520] comme indiqué ci-dessous.

Sujet : Demande d’enregistrement de descripteur LDAP

Descripteur (nom abrégé) : voir le tableau

Identifiant d’objet : voir le tableau

Personne et adresse de messagerie à contacter pour informations complémentaires : Kurt Zeilenga kurt@OpenLDAP.org

Usage : voir le tableau ci-dessous :

algorithmIdentifierMatch

M

2.5.13.40

authorityRevocationList

A

2.5.4.38 *

cACertificate

A

2.5.4.37 *

cRLDistributionPoint

O

2.5.6.19 *

certificateExactMatch

M

2.5.13.34

certificateListExactMatch

M

2.5.13.38

certificateListMatch

M

2.5.13.39

certificateMatch

M

2.5.13.35

certificatePairExactMatch

M

2.5.13.36

certificatePairMatch

M

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 *

* Met à jour l’enregistrement précédent

Spécification : RFC 4523

Auteur/Contrôleur des modifications : IESG


8 Remerciements

Le présent document est fondé sur X.509, produit par l’UIT-T. Un certain nombre de définitions de schéma LDAP sont fondées sur celles qui se trouvent dans les RFC 2252 et 2256, toutes deux produites par le groupe de travail ASID de l’IETF. Les productions d’ABNF de l’appendice A ont été fournies par Steven Legg. Des éléments supplémentaires ont été empruntés à des travaux antérieurs de David Chadwick et Steven Legg pour affiner le schéma X.509 de LDAP.


9 Références

9.1 Références normatives

[RFC2119] S. Bradner, "Mots clés à utiliser dans les RFC pour indiquer les niveaux d'exigence", BCP 14, mars 1997. (MàJ par RFC8174)


[RFC3641] S. Legg, "Règles génériques de codage de chaînes (GSER) pour les types ASN.1", octobre 2003. (MàJ par RFC4792)


[RFC4510] K. Zeilenga, éditeur, "Protocole léger d’accès à un répertoire (LDAP) : Descriptif des spécifications techniques", juin  2006.


[RFC4512] K. Zeilenga, "Protocole léger d’accès à un répertoire (LDAP) : Modèle d’informations de répertoires", juin 2006.


[RFC4522] S. Legg, "Protocole léger d'accès à un répertoire (LDAP) : Option Codage binaire", juin 2006. (P.S.)


[X.509] Union Internationale des Télécommunications – Secteur de la normalisation des télécommunications, "Technologies de l'information – Interconnexion des systèmes ouverts – L’annuaire : cadre général des certificats de clé publique et d'attribut", (mars 2000).


[X.521] Union Internationale des Télécommunications – Secteur de la normalisation des télécommunications, "Technologies de l'information – Interconnexion des systèmes ouverts – L'annuaire : classes d'objets sélectionnées", (février 2001).


[X.690] Union Internationale des Télécommunications – Secteur de la normalisation des télécommunications "Technologies de l'information – Règles de codage ASN.1 : spécification des règles de codage de base, des règles de codage canoniques et des règles de codage distinctives", (juillet 2002) (aussi ISO/CEI 8825-1:2002).


9.2 Références pour information

[RFC1777] W. Yeong, T. Howes, S. Kille, "Protocole léger d'accès de répertoire", mars 1995. (Obsolète, voir RFC3494) (Hist.)


[RFC2156] S. Kille, "MIXER (Relais amélioré Mime Internet X.400) : transposition entre X.400 et la RFC0822/MIME", janvier 1998. (Remplace RFC0987, RFC1026, RFC1138, RFC1148, RFC1327, RFC1495) (MàJ RFC0822) (P.S.)


[RFC3280] R. Housley, W. Polk, W. Ford et D. Solo, "Profil de certificat d'infrastructure de clé publique X.509 et de liste de révocation de certificat (CRL) pour l'Internet", avril 2002. (Obsolète, voir RFC5280)


[RFC3494] K. Zeilenga, "Vers le dépassement du protocole léger d’accès à un répertoire version 2 (LDAPv2)", mars 2003.


[RFC3642] S. Legg, "Éléments communs des règles génériques de codage de chaînes (GSER)", octobre 2003.


[RFC4234] D. Crocker et P. Overell, "BNF augmenté pour les spécifications de syntaxe  : ABNF", octobre  2005. (Remplace RFC2234, remplacée par RFC5234)


[RFC4511] J. Sermersheim, éditeur, "Protocole léger d’accès à un répertoire (LDAP) Le protocole", juin  2006.


[RFC4513] R. Harrison, éditeur, "Protocole léger d’accès à un répertoire (LDAP) : Méthodes d’authentification et mécanismes de sécurité", juin 2006.


[RFC4514] K. Zeilenga, éd., "Protocole léger d’accès à un répertoire (LDAP) : Représentation de chaîne des noms distinctifs", juin  2006.


[RFC4520] K. Zeilenga, "Autorité d’allocation des numéros de l’Internet (IANA) : Considérations sur le Protocole léger d’accès de répertoire (LDAP)", BCP 64, juin 2006.


Appendice A.


Le présent appendice est pour information seulement.

Le présent appendice donne les grammaires ABNF [RFC4234] pour les codages spécifiques de LDAP fondés sur GSER [RFC3641] spécifiés dans ce document. Ces grammaires ont été produites en utilisant, et en s’appuyant sur les éléments communs pour les codages GSER [RFC3642].


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 = id-certificateValid msp Time

ca-privateKeyValid = id-privateKeyValid msp GeneralizedTime

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

/ 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> comme défini à la Section 3 de [RFC3641]


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 ; esquivé par des doubles guillemets

dquote = %x22 ; '"' (double guillemets)


Note : La règle <ORAddress> code le composant x400Address d’un GeneralName comme une chaîne de caractères entre des double guillemets. La chaîne de caractères est d’abord déduite conformément au paragraphe 4.1 de la [RFC2156], puis tous les doubles guillemets incorporés sont esquivés par répétition. Cette chaîne résultante est sortie entre des doubles guillemets.


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'


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 : La règle <key-usage-bit-list> code les bits un dans une valeur KeyUsage comme une liste d’identifiants séparés par des virgules.


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'

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


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 "}"

;; Au moins un de <cpea-issuedTo> ou de <cpea-issuedBy> DOIT être présent.


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 "}"

;; Au moins un de <cpa-issuedTo> et de <cpa-issuedBy> DOIT être présent.


cpa-issuedTo = id-issuedToThisCAAssertion msp CertificateAssertion

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


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

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'


Adresse de l'auteur

Kurt D. Zeilenga
OpenLDAP Foundation
mél :
Kurt@OpenLDAP.org


Déclaration complète de droits de reproduction


Copyright (C) The Internet Society (2006).


Le présent document est soumis aux droits, licences et restrictions contenus dans le BCP 78, et à www.rfc-editor.org, et sauf pour ce qui est mentionné ci-après, les auteurs conservent tous leurs droits.


Le présent document et les informations contenues sont fournis sur une base "EN L’ÉTAT" et le contributeur, l’organisation qu’il ou elle représente ou qui le/la finance (s’il en est), la INTERNET SOCIETY et la INTERNET ENGINEERING TASK FORCE déclinent toutes garanties, exprimées ou implicites, y compris mais non limitées à toute garantie que l’utilisation des informations ci encloses ne violent aucun droit ou aucune garantie implicite de commercialisation ou d’aptitude à un objet particulier.


Propriété intellectuelle

L’IETF ne prend pas position sur la validité et la portée de tout droit de propriété intellectuelle ou autres droits qui pourraient être revendiqués au titre de la mise en œuvre ou l’utilisation de la technologie décrite dans le présent document ou sur la mesure dans laquelle toute licence sur de tels droits pourrait être ou n’être pas disponible ; pas plus qu’elle ne prétend avoir accompli aucun effort pour identifier de tels droits. Les informations sur les procédures de l’ISOC au sujet des droits dans les documents de l’ISOC figurent dans les BCP 78 et BCP 79. Des copies des dépôts d’IPR faites au secrétariat de l’IETF et toutes assurances de disponibilité de licences, ou le résultat de tentatives faites pour obtenir une licence ou permission générale d’utilisation de tels droits de propriété par ceux qui mettent en œuvre ou utilisent la présente spécification peuvent être obtenues sur répertoire en ligne des IPR de l’IETF à http://www.ietf.org/ipr. L’IETF invite toute partie intéressée à porter son attention sur tous copyrights, licences ou applications de licence, ou autres droits de propriété qui pourraient couvrir les technologies qui peuvent être nécessaires pour mettre en œuvre la présente norme. Prière d’adresser les informations à l’IETF à ietf-ipr@ietf.org.


Remerciement

Le financement de la fonction d’édition des RFC est fourni par la Administrative Support Activity (IASA) de l'IETF.