5

我正在关注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-版本 tlsv1.2 -m "你好" -d

它给了我错误

Error: Problem setting TLS options.

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

4

4 回答 4

1

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

  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

资料来源:Joshua Tonga 指出的问题中的具体评论

于 2019-10-29T09:55:39.577 回答
1

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

于 2018-10-11T19:20:29.773 回答
1

这仍然是mosquitto github 存储库中的一个未解决问题。错误信息不清楚。

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

您应该使用 ATS CA 证书。就像这个RSA 2048 位密钥:Amazon Root CA 1(下载它并将其另存为root.cert。这应该可以解决您的问题Error: Problem setting TLS options

于 2019-08-11T07:30:27.303 回答
0

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

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

于 2018-03-03T00:14:00.570 回答