【问题标题】:MQTT server with SSL/TLS Error: Unable to load server key file带有 SSL/TLS 错误的 MQTT 服务器:无法加载服务器密钥文件
【发布时间】:2016-01-09 12:35:05
【问题描述】:

我正在尝试使用 SSL 设置 MQTT 代理。当我启动代理时,我收到此错误:

1452342536: Error: Unable to load server key file "/home/ilab/mqtt/server/server.key". Check keyfile.

以下是我的 mosquitto.conf:

pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
cafile /home/ilab/mqtt/CA/ca.crt
certfile /home/ilab/mqtt/server/server.crt
keyfile /home/ilab/mqtt/server/server.key
port 8883
tls_version tlsv1

我也按照THIS 问题中提到的步骤进行操作。但还是没有解决问题。

【问题讨论】:

  • 密钥有密码吗?
  • @hardillb 是的,它有密码。

标签: ssl mqtt tls1.2


【解决方案1】:

正如@hardillb 所暗示的,尝试删除密码或手动启动代理。

或者,如果您使用的是 Ubuntu,那么 apparmor 可能会限制对这些文件的访问。请尝试将它们放在/etc/mosquitto/certs 中。

【讨论】:

    【解决方案2】:

    我有同样的问题。我通过在配置中提供 fullchain.pem 而不是 chain.pem 来修复它。

    【讨论】:

    • 你是如何创建 fullpem 的?我有 cafile /etc/mosquitto/certs/mqtt_ca.crt certfile /etc/mosquitto/certs/mqtt_srv.crt 密钥文件 /etc/mosquitto/certs/mqtt_srv.pem 文件
    • 你能提供一个mosquitto中fullchai配置的例子吗? tnx
    【解决方案3】:

    您甚至可以尝试在路径 mqtt/certs/ 中将 server.crt 的名称更改为 cert.pem 并将 server .key 的名称更改为 key.pem 另外不要忘记更改代码中的路径和文件名。

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 1970-01-01
      • 2017-11-08
      • 2014-09-15
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      相关资源
      最近更新 更多