指定密码套件libcoap

指定密码套件libcoap,c,openssl,libcoap,C,Openssl,Libcoap,我正在使用libcoap库编写一个小型的CoAP客户机/服务器程序,通过DTLS,用C语言编写。 通过Wireshark分析流量,发现服务器选择TLS_DHE_PSK_和_CHACHA20_POLY1305_SHA256 出于评估目的,我想更改密码套件。我该怎么做?似乎在任何地方都没有指定套件的选项。 此外,我以OpenSSL作为后端编译了libcoap 如果libcoap不支持此功能,是否有办法自己设置DTL并使用libcoap仅处理CoAP数据包?尝试在DTLS上下文中配置密码套件 文件:“

我正在使用libcoap库编写一个小型的CoAP客户机/服务器程序,通过DTLS,用C语言编写。 通过Wireshark分析流量,发现服务器选择TLS_DHE_PSK_和_CHACHA20_POLY1305_SHA256

出于评估目的,我想更改密码套件。我该怎么做?似乎在任何地方都没有指定套件的选项。 此外,我以OpenSSL作为后端编译了libcoap


如果libcoap不支持此功能,是否有办法自己设置DTL并使用libcoap仅处理CoAP数据包?

尝试在DTLS上下文中配置密码套件

文件:“coap_openssl.c”(关于第395行,取决于您的版本), 函数:“void*coap\u dtls\u new\u context(struct-coap\u context\u t*coap\u context)”

添加“set\u cipher\u list”和所需的密码套件

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");