1.5.2. Sending Extensible Messages (发送可扩展消息)
必须注意确保旧实现可以理解发送给它们的消息, 即使它们不理解所使用的扩展。除非发送方知道支持扩展, 否则扩展不能改变核心消息或先前定义的扩展的语义。
例如, 包括解密 KDC-REP 的加密部分所需的密钥信息的扩展只能在已知接收方支持该扩展的情况下使用。因此, 在设计这样的扩展时, 重要的是提供一种方式让接收方通知发送方支持该扩展。例如, 在改变 KDC-REP 回复密钥的扩展的情况下, 客户端可以通过在 AS-REQ 序列中包含 padata 元素来指示对扩展的支持。只有当此 padata 元素存在于 AS-REQ 中时, KDC 才应该使用该扩展。即使策略要求使用扩展, 返回指示需要扩展的错误也比在接收方可能不支持扩展时使用扩展更好。当返回错误时, 调试不能互操作的实现更容易。