【问题标题】:mosquitto_pub porblem setting TLS optionsmosquitto_pub 问题设置 TLS 选项
【发布时间】:2018-02-02 05:31:39
【问题描述】:

我在关注https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/,执行以下命令时出现问题:

$ mosquitto_pub --cafile root.cert --cert deviceCertAndCACert.crt --key deviceCert.key -h .iot.us-east-1.amazonaws.com -p 8883 -q 1 -t foo/bar -i anyclientID --tls-version tlsv1.2 -m "Hello" -d

它给了我错误

Error: Problem setting TLS options.

我找不到这个错误是什么意思以及如何解决它。我需要在我的 unbutu 16.04 上“安装”TLSv1.2 吗?实际上没有关于如何安装 TLS1.2 的信息。有一些关于为apache或nginx等启用TLSv1.2的信息。 TLSv1.2是内置在Unbutu中的吗?

【问题讨论】:

    标签: libmosquitto


    【解决方案1】:

    这不是一个非常有用的错误消息。我发现我得到了一个拼写错误的文件名,在我的例子中是 --key 选项。确保按照说明下载 aws root.cert 文件。您也没有显示主机名的值,但我认为这是因为您正在编辑该值。您需要为您的帐户提供正确的 aws IoT Endpoint 主机名。

    【讨论】:

      【解决方案2】:

      这仍然是 mosquitto github 存储库中的一个开放 issue。错误信息不清楚。

      如果您遵循他们的 JITR 或 JITP(自动配置 AWS IoT 资源(如证书、策略、事物等)的新方法),您应该使用最新且首选的 certificates。教程中使用的是旧证书,即VeriSign Class 3 Public Primary G5 root CA certificate

      您应该使用 ATS CA 证书。像这个RSA 2048 bit key: Amazon Root CA 1(下载它并将其保存为root.cert。这应该可以解决您的错误:设置TLS选项问题的问题。

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题,但我能够通过以下三个步骤解决它:

        1. 找到您的<yourCertificate>.crt 文件。
        2. 在文件夹 /etc/ssl/certs/ 中创建一个符号链接,指向您的 <yourCertificate>.crt 文件。
        3. 使用--capath 选项而不是--cafile 选项。

        所以你的命令应该是这样的:

        $ mosquitto_pub --capath /etc/ssl/certs/ -h .iot.us-east-1.amazonaws.com -p 8883 -q 1 -t foo/bar -i anyclientID --tls-version tlsv1.2 -m "Hello" -d
        

        来源:thisJoshua Tonga 指出的问题中的具体评论。

        【讨论】:

          【解决方案4】:

          在旧版本的 mosquitto-clients 工具上会出现此错误。

          安装 1.4.13 或更高版本,您与 AWS IoT 的连接应该可以正常工作(前提是您的证书设置正确)。

          【讨论】:

          • 刚安装了1.4.15,但是和OP一样的错误信息问题依然存在:(
          猜你喜欢
          • 1970-01-01
          • 2021-04-08
          • 1970-01-01
          • 1970-01-01
          • 2021-01-24
          • 2019-10-09
          • 2014-11-20
          • 1970-01-01
          • 2011-04-29
          相关资源
          最近更新 更多