Zum Hauptinhalt springen

1.5.2. Sending Extensible Messages (Senden erweiterbarer Nachrichten)

1.5.2. Sending Extensible Messages (Senden erweiterbarer Nachrichten)

Es muss darauf geachtet werden, dass alte Implementierungen an sie gesendete Nachrichten verstehen können, auch wenn sie eine verwendete Erweiterung nicht verstehen. Es sei denn, der Sender weiß, dass eine Erweiterung unterstützt wird, kann die Erweiterung die Semantik der Kernnachricht oder zuvor definierter Erweiterungen nicht ändern.

Beispielsweise könnte eine Erweiterung, die Schlüsselinformationen enthält, die zur Entschlüsselung des verschlüsselten Teils einer KDC-REP notwendig sind, nur in Situationen verwendet werden, in denen bekannt ist, dass der Empfänger die Erweiterung unterstützt. Daher ist es beim Design solcher Erweiterungen wichtig, eine Möglichkeit für den Empfänger bereitzustellen, dem Sender die Unterstützung für die Erweiterung mitzuteilen. Beispielsweise könnte der Client im Fall einer Erweiterung, die den KDC-REP-Reply-Schlüssel ändert, die Unterstützung für die Erweiterung anzeigen, indem er ein padata-Element in die AS-REQ-Sequenz einfügt. Der KDC sollte die Erweiterung nur verwenden, wenn dieses padata-Element im AS-REQ vorhanden ist. Selbst wenn die Richtlinie die Verwendung der Erweiterung erfordert, ist es besser, einen Fehler zurückzugeben, der anzeigt, dass die Erweiterung erforderlich ist, als die Erweiterung zu verwenden, wenn der Empfänger sie möglicherweise nicht unterstützt. Das Debuggen von Implementierungen, die nicht interoperieren, ist einfacher, wenn Fehler zurückgegeben werden.