在XMPP RFC中,有两个MUST
指令声明用于 STARTTLS 和 SASL 的 XML 不得包含任何空格,因为该规范声明为“安全层字节精度”。那是什么?
来自 RFC 的相关摘要:
...
在 STARTTLS 协商期间,实体不得发送任何空格作为 XML 元素之间的分隔符(即,从发送时由 'urn:ietf:params:xml:ns:xmpp-tls' 命名空间限定的第一级元素的最后一个字符由发起实体,直到接收实体发送的由 'urn:ietf:params:xml:ns:xmpp-tls' 命名空间限定的第一级元素的最后一个字符)。此禁止有助于确保适当的安全层字节精度。
... 在 SASL 协商期间,实体不得发送任何空格作为 XML 元素之间的分隔符(即,从由 'urn:ietf:params:xml:ns:xmpp-sasl' 限定的第一级元素的最后一个字符开始)由发起实体发送的命名空间,直到接收实体发送的由 'urn:ietf:params:xml:ns:xmpp-sasl' 命名空间限定的第一级元素的最后一个字符)。此禁止有助于确保适当的安全层字节精度。