首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有证书的情况下为mqtts配置Mosca?

如何在没有证书的情况下为mqtts配置Mosca?
EN

Stack Overflow用户
提问于 2019-04-05 08:20:59
回答 1查看 1K关注 0票数 0

我有一个运行在节点实例上的Mosca MQTT代理,我希望加密所有与SSL/TLS (MQTTs协议)的传入通信,但客户端不必像https那样将任何证书链接到连接(我猜它与自签名的证书有关)。我希望我的所有客户端只与指定MQTTs协议的凭据连接,通信可以加密。我之前使用过Amazon,这就是它的工作方式,所以我想要相同的内容。

我不知道如何正确配置Mosca来做到这一点,我不知道我必须使用什么样的证书。

  • 我在配置中添加了安全字段,如这里所示
  • 对于证书,我尝试创建一个自签名证书,如这里所示
  • 我还尝试使用certbot证书(让我们加密)注册我的域名: mq.xxx.com。

我在ec2 (Ubuntu18)上运行所有的东西,我的网络和防火墙为1883年和8883开放。我的钥匙和证书是我的项目的基础,在那里,deamon正在以良好的权利和所有权运行。我知道我的实例可以正确地访问它们。

代码语言:javascript
运行
复制
new mosca.Server({
   port: 1883,
   secure: {
      keyPath: "./privkey.pem",
      certPath: "./cert.pem"
   },
   backend: {
      type: 'redis',
      redis: require('redis'),
      host: "localhost",
      port: 6379,
      db: 0,
      return_buffers: true,
   },
   persistence: {
      factory: mosca.persistence.Redis
   }
});

我的服务器在端口1883上运行和使用简单的mqtt,但是当我试图与端口8883上的客户端连接到ssl/tls时,如果指定服务器使用自签名证书(我尝试过使用MQTT.fx),它将失败地说:“无法找到指向请求目标的有效证书路径”。

我不能对这个问题发号施令,我认为客户不可能“接受”或“验证”所提供的证书。也许我向Mosca提供了错误的密钥或证书,但是每一个结果都只有一个openssl或certbot。也许我做错了,但我遵循了许多关于同一主题的教程,如这一个

我需要做什么样的证书?

跟他们有什么关系吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-04-05 10:02:50

如果使用的是自创建证书,则客户端将需要签署代理证书的证书副本。该证书将被添加到受信任的源列表中,这样它就可以证明代理就是它声称的那个人。

如果您不想/不能分发证书,则需要为您的代理使用证书,该证书由CA (证书颁发机构)颁发,CA已签署证书(捆绑到正在使用的OS/客户端)。

现在,我们应该将加密签名证书绑定到大多数OSes中,但它们也是由IdenTrust交叉签名的,后者的证书应该与大多数OSes捆绑在一起。如果您对Lets加密证书有问题,那么我建议您提出一个新的问题,详细说明如何使用这些证书配置mosca,以及如何配置MQTT.fx和收到的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55531154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档