7.1.4. Validation of Inputs and Outputs (输入和输出验证)
7.1.4. Validation of Inputs and Outputs (输入和输出验证)
如果群需要公钥验证, 则以下公钥需要验证: 发送者必须验证接收者的公钥 pkR; 接收者必须验证临时公钥 pkE; 在认证模式下, 接收者必须验证发送者的静态公钥 pkS。验证失败会产生 ValidationError。
对于 P-256, P-384 和 P-521, 发送者和接收者必须对所有公钥输入执行部分公钥验证, 如 [keyagreement] 第 5.6.2.3.4 节所定义。这包括检查坐标是否在正确的范围内, 点是否在曲线上, 以及点不是无穷远点。此外, 发送者和接收者必须确保 Diffie-Hellman 共享密钥不是无穷远点。
对于 X25519 和 X448, 必须按照 [RFC7748] 中的描述验证公钥和 Diffie-Hellman 输出。特别是, 接收者必须检查 Diffie-Hellman 共享密钥是否为全零值, 如果是则中止。