8.3. Use of Contexts (上下文的使用)
8.3. Use of Contexts (上下文的使用)
上下文 (contexts) 可用于在不同协议之间分隔协议的使用 (否则很难可靠地做到), 以及在同一协议内的不同用途之间进行分隔。但是, 在使用该机制时应该 (SHOULD) 牢记以下几点:
-
上下文应该 (SHOULD) 是由使用该机制的协议指定的常量字符串。它不应该 (SHOULD NOT) 纳入来自消息本身的可变元素。
-
上下文不应该 (SHOULD NOT) 被机会性地使用, 因为此类用法非常容易出错。如果使用上下文, 应该 (SHOULD) 要求可用于该目的的所有签名方案都支持上下文。
-
上下文是额外输入, 会渗透到 API 中; 因此, 即使签名方案支持上下文, 也可能无法使用它们。由于许多时候应用程序并非直接调用签名与验证函数, 而是通过其他协议调用, 这一问题还会加剧。