我正在使用libcoap库通过DTLS用C语言编写一个小的CoAP客户机/服务器程序。使用Wireshark分析流量时发现,服务器选择了TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256。
出于评估目的,我想更改密码套件。我该怎么做呢?似乎任何地方都没有指定套件的选项。另外,我使用OpenSSL作为后端来编译libcoap。
如果libcoap不支持这一点,有没有办法自己设置DTLS,并使用libcoap来处理CoAP数据包?
发布于 2019-05-22 04:11:46
尝试在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“。
https://stackoverflow.com/questions/56127231
复制相似问题