当前位置: 首页 > 知识库问答 >
问题:

TLS配置的MQTT broker Mosquitto错误

轩辕华辉
2023-03-14

我试图在TLS支持下运行MQTT broker(Mosquitto)。我按照http://rockingdlabs.dunmire.org/exhibities/ssl-client-certs-to-secure-mqtt生成证书和配置。如果我跑

sudo /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf -d -v

它在/var/log/mosquitto/mosquitto.log中抛出错误

mosquitto version 1.4.8 (build date Fri, 19 Feb 2016 12:03:16 +0100) starting
Config loaded from /etc/mosquitto/mosquitto.conf.
Opening ipv4 listen socket on port 8883.
Opening ipv6 listen socket on port 8883.
Error: Unable to load server key file "/etc/mosquitto/certs/mqtt_server.key". Check keyfile.
# MQTT over TLS/SSL
listener 8883
cafile /etc/mosquitto/ca_certificates/mqtt_ca.crt
certfile /etc/mosquitto/certs/mqtt_server.crt
keyfile /etc/mosquitto/certs/mqtt_server.key
require_certificate true
tls_version tlsv1.2
user mosquitto
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

共有1个答案

司空修贤
2023-03-14

我曾经遇到过同样的问题,这是因为密钥是密码保护的。我更改了文件设置,使密钥文件只能由特定的一组用户读取,并删除了密码。

 类似资料:
  • DataSource TlsParameters TlsParameters.TlsProtocol (Enum) TlsCertificate TlsSessionTicketKeys CertificateValidationContext CommonTlsContext UpstreamTlsContext DownstreamTlsContext DataSource DataSourc

  • 如果我正确理解SSL/TLS在仅服务器身份验证中的含义,那么在握手之后,服务器会向客户端发送它的公钥和一个由CA签名的数字签名证书。如果客户端拥有这个CA的公钥,它就可以解密证书并与服务器建立信任。如果它不信任CA,则通信停止。在双向SSL中,客户端需要向服务器进行身份验证,在客户端接收到公钥和数字签名的证书之后,客户端将向服务器发送它的公钥和数字签名的证书。服务器将检查它是否有客户机证书的公钥,

  • 我试图部署一个角应用程序在OpenShift与Istio作为服务网格。服务yaml: 到目前为止,一切都与http连接一起工作。为了切换到https连接,我将Red Hat Openshift服务Mesh operator安装提供的istio ingressgateway路由配置为使用passthrough 以及istio的网关资源: VirtualService指向angular app的808

  • 我正在尝试在openshift上使用边缘终止来配置TLS,正在传递TLS证书和值中的私钥。yaml并在路线中引用它。yaml文件,当我执行helm图表时,由于在从值复制证书时引入了不正确的缩进和换行符,路由的创建失败。向路线行进。yaml文件。 以下是值。yaml文件,从中引用路由中的证书。yaml文件。做这件事最好的方法是什么?如何从值传递tls证书和私钥。yaml具有适当的压痕。 Values

  • Istio不会通过TLS发起路由到外部HTTPs服务。 我有一个包含两个容器的容器:-应用程序-ISTIO代理 应用程序调用驻留在https://someurl.somedomain.com/v1/some-service的外部第三方API 应用程序通过调用http://someurl.somedomain.com/v1/some-service向此服务发送HTTP请求-请注意,它是HTTP而不是

  • 版本介绍 百度移动统计提供两种版本的Crash错误统计功能:标准版、详细Crash版。 标准版:采集的Crash日志内容较少,包含关键的LastBacktrace等信息。 详细Crash版:采集的Crash日志内容丰富,接近iOS系统完整的Crash格式,包含LastBacktrace、thread等信息。 由于加入详细的Crash统计功能会使SDK的体积增大,所以请结合自身业务场景,合理选择SD