我使用libcoap库在c上编写了一个小型coap客户端/服务器程序。用Wireshark分析流量显示服务器选择TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256。
我想更改密码套件,以进行评估。我该怎么做呢?似乎没有任何指定套件的选项。另外,我用openssl作为后端编译了libcoap。
如果libcoap不支持这一点,是否有一种方法可以自己设置DTL并使用libcoap来处理COAP数据包?
尝试在DTLS上下文中配置密码套件。
文件:" coap_openssl.c",(关于行395,取决于您的版本(,函数:" void *coap_dtls_new_context(struct coap_context_t *coap_context(",
SSL_CTX_set_min_proto_version(context->dtls.ctx, DTLS1_2_VERSION);
SSL_CTX_set_app_data(context->dtls.ctx, &context->dtls);
SSL_CTX_set_read_ahead(context->dtls.ctx, 1);
SSL_CTX_set_cipher_list(context->dtls.ctx, "ECDHE-PSK-AES128-CBC-SHA256:PSK-AES128-CCM8:ECDHE-ECDSA-AES128-CCM8");
使用您想要的密码套件添加" set_cipher_list"。