mqttnet可以支持sha256ecdsa(ECC 521位)加密tls?

发布于 2025-01-30 09:29:07 字数 1208 浏览 3 评论 0原文

我正在使用MQTTNET与TLS

我们使用Mosquitto经纪人,并将为客户提供CA.CRT文件来连接我们的

经纪人

public async Task MqttConnect()
    {
        client = mqttFactory.CreateMqttClient();

        var tlsOptions = new MqttClientOptionsBuilderTlsParameters
        {
            UseTls = true,
            SslProtocol = System.Security.Authentication.SslProtocols.Tls12,
            Certificates = new List<X509Certificate>
            {
                new X509Certificate2(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"ca.crt"))
            }
            ,
            AllowUntrustedCertificates =true,
            IgnoreCertificateChainErrors =true,
            IgnoreCertificateRevocationErrors = true
        };

        var options = new MqttClientOptionsBuilder()
                .WithTcpServer(MqttIP, Int16.Parse(Mqttport))
                            .WithClientId("Client")
                            .WithCredentials(UserID, UserPW)
                            .WithTls(tlsOptions)
                            .Build();

        await client.ConnectAsync(options);

经纪公司说, 。

​在客户端上共享密码插座错误,断开连接。

MQTTNET不支持TLS Crypto ECDSA ECC 521bits吗? 还是我添加其他代码?

I am using MQTTnet to connect MQTT broker with TLS

Broker's company said we use mosquitto broker and will provide client with ca.crt file to connect our broker

So we use only ca.crt(CA certificate) file to connect broker

public async Task MqttConnect()
    {
        client = mqttFactory.CreateMqttClient();

        var tlsOptions = new MqttClientOptionsBuilderTlsParameters
        {
            UseTls = true,
            SslProtocol = System.Security.Authentication.SslProtocols.Tls12,
            Certificates = new List<X509Certificate>
            {
                new X509Certificate2(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"ca.crt"))
            }
            ,
            AllowUntrustedCertificates =true,
            IgnoreCertificateChainErrors =true,
            IgnoreCertificateRevocationErrors = true
        };

        var options = new MqttClientOptionsBuilder()
                .WithTcpServer(MqttIP, Int16.Parse(Mqttport))
                            .WithClientId("Client")
                            .WithCredentials(UserID, UserPW)
                            .WithTls(tlsOptions)
                            .Build();

        await client.ConnectAsync(options);

This code can connect test.mosquitto.org with test.mosquitto.crt TLS(RSA 2048bits) file

But can't connect Broker Company's mosquitto with TLS(ECDSA ECC 521 Bits)

Error : OpenSSL Error[0]: error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher Socket error on client , disconnecting.

Does MQTTnet not support TLS crypto ECDSA ECC 521bits?
or Do I add some other code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文