我从 4.4.4 更新到 5.0.1,现在 Diffie-Hellman 密钥交换模式已被禁用,所以我正在按照他们的建议迁移到 Ellip
tic Curve Diffie Hellman。阅读我遇到的头文件:
/*
* Mbed TLS supports two formats for ECDH contexts (#mbedtls_ecdh_context
* defined in `ecdh.h`). For most applications, the choice of format makes
* no difference, since all library functions can work with either format,
* except that the new format is incompatible with MBEDTLS_ECP_RESTARTABLE.
* The new format used when this option is disabled is smaller
* (56 bytes on a 32-bit platform). In future versions of the library, it
* will support alternative implementations of ECDH operations.
* The new format is incompatible with applications that access
* context fields directly and with restartable ECP operations.
*/
我打算禁用它,因为我不需要这些功能中的任何一个,所以我查看了 sdkconfig 中的设置,虽然我可以手动编辑文件并更改这些设置,但我无法取消选中其中任何一个的复选框(我点击它,它立即切换回选中状态)。此外,如果我手动更改它们然后重新打开 sdkconfig 设计视图,它们将在文件中重新启用和更改。
有人可以确认他们经历过同样的奇怪行为吗?要找到我正在谈论的设置,请打开 sdkconfig 并搜索 mbedTLS 并选择 mbedTLS 节点。有问题的设置是 #9“使用向后兼容的 ECDH 上下文(实验)”。和#17“启用 mbedTLS ecp 可重启”。
注意:仅切换视图不会导致值发生变化,但关闭并重新打开文件会。