我试图弄清楚如何使用 mbedTLS(以前称为 PolarSSL)在两个对等方之间执行 ECDHE-PSK 加密。不幸的是,没有任何关于我需要使用的 API 的文章/文档?
问问题
3534 次
1 回答
8
ECDHE-PSK 是 TLS 中使用的一种密钥交换方法。您应该首先查看 mbed TLS TLS 教程。
然后需要在两端配置预共享密钥。这通常涉及使用mbedtls_ssl_conf_psk()
客户端,尽管如果您只希望与单个客户端进行通信,理论上相同的功能也可以在服务器端使用,但实际上大多数时候您将希望使用它mbedtls_ssl_conf_psk_cb()
来设置回调该功能将为每个客户端选择适当的预共享密钥。
您还需要调整允许的密码套件列表。这可以在运行时使用mbedtls_ssl_conf_ciphersuites()
. 或者,如果您知道您将只使用 ECDHE-PSK,您可以自定义您的构建以禁用所有其他密钥交换,这也将最大限度地减少您的足迹。
最后,您可以找到使用各种密码套件执行 TLS 的完整工作示例,包括基于 mbed TLS 发行版中的 ECDHE-PSK 作为ssl_client2.c和ssl_server2.c。您可以查看示例中如何使用上述函数,特别是您会找到服务器端PSK 回调的示例。
于 2015-09-14T08:43:37.360 回答