Aller au contenu principal

5.1. Notes de compatibilité spécifiques à ASN.1

5.1. Notes de compatibilité spécifiques à ASN.1

Vue d'ensemble

Cette section traite des questions d'encodage ASN.1 et de compatibilité dont les implémenteurs doivent avoir connaissance pour garantir l'interopérabilité.

5.1.1. Règles d'encodage distinctives ASN.1

Tous les messages Kerberos utilisent les règles d'encodage distinctives (DER, Distinguished Encoding Rules) pour l'encodage. Le DER est un sous-ensemble des règles d'encodage de base (BER, Basic Encoding Rules) qui garantit un encodage unique pour chaque valeur.

Exigences principales

  • Utiliser l'encodage DER pour tous les messages
  • Aucun choix d'encodage optionnel
  • Encodage à longueur définie obligatoire
  • Règles précises pour l'ordonnancement des types SET et SET OF

5.1.2. Champs entiers optionnels

Les champs entiers optionnels dans les messages Kerberos obéissent à des règles d'encodage précises :

  • S'ils sont présents, ils doivent être encodés
  • S'ils sont absents, ils doivent être entièrement omis
  • Les valeurs zéro doivent être encodées explicitement si le champ est présent
  • Les implémentations doivent gérer correctement présence et absence

5.1.3. Types SEQUENCE OF vides

Lorsqu'un type SEQUENCE OF ne contient aucun élément :

  • Certaines implémentations peuvent encoder une longueur nulle
  • D'autres peuvent omettre entièrement le champ
  • Les implémentations doivent accepter les deux formes
  • Lors de la génération, suivre les règles DER

5.1.4. Numéros de balise non reconnus

Lorsqu'on rencontre des numéros de balise non reconnus :

  • Les destinataires DEVRAIENT conserver l'encodage
  • Les destinataires DEVRAIENT ignorer la présence
  • Les destinataires NE DOIVENT PAS rejeter le message uniquement en raison de balises inconnues
  • Exception : les données d'autorisation inconnues peuvent nécessiter un traitement particulier

5.1.5. Numéros de balise supérieurs à 30

Les numéros de balise ASN.1 supérieurs à 30 utilisent un encodage sur plusieurs octets :

  • Les implémentations doivent prendre en charge les balises multi-octets
  • L'encodage de balise en forme longue doit être traité correctement
  • Cela assure l'extensibilité du protocole

Recommandations d'implémentation

  • Valider soigneusement le décodage ASN.1
  • Conserver les extensions inconnues lorsque c'est possible
  • Appliquer strictement les règles d'encodage DER
  • Tester avec divers encodeurs/décodeurs ASN.1 pour la compatibilité

Référence

Pour les détails techniques complets, se reporter à RFC 4120, section 5.1.