【问题标题】:Security key and cert for mosca MQTT brokermosca MQTT 代理的安全密钥和证书
【发布时间】:2016-10-07 09:23:54
【问题描述】:

我正在尝试设置基于 node.js 的 Mosca MQTT 代理

从下面的文档中, https://github.com/mcollina/mosca/wiki/TLS-SSL-Configuration

var mosca = require('mosca')

var SECURE_KEY = __dirname + '/../../test/secure/tls-key.pem';
var SECURE_CERT = __dirname + '/../../test/secure/tls-cert.pem';

我在哪里可以获得tls-key.pemtls-cert.pem

【问题讨论】:

标签: node.js security ssl mqtt mosca


【解决方案1】:

从您问题中的链接https://github.com/mcollina/mosca/wiki/TLS-SSL-Configuration,您被定向到另一个链接https://nodejs.org/api/tls.html#tls_tls_ssl

现在,按照此链接中的说明进行操作。

$ openssl genrsa -out tls-key.pem 2048
$ openssl req -new -sha256 -key tls-key.pem -out ryans-csr.pem
$ openssl x509 -req -in ryans-csr.pem -signkey tls-key.pem -out tls-cert.pem

你去。你应该有你的 pem 文件。

【讨论】:

    【解决方案2】:

    这完全取决于您想使用代理做什么。

    如果是用于简单的私人游戏,那么您可以使用 openssl 创建自己的自签名证书(详情here

    1. openssl genrsa -des3 -out tls-key.pem 1024
    2. openssl req -new -key tlk-key.pem -out server.csr
    3. cp tlk-key.pem tls-key.pem.org
    4. openssl rsa -in tls-key.pem.org -out tls-key.pem
    5. openssl x509 -req -days 365 -in server.csr -signkey tls-key.pem -out tls-cert.pem

    或者,如果您也计划使用证书进行客户端身份验证,则可以创建自己的证书 CA 并创建由此签名的证书。这是一个较长的过程,详情可查看here

    或者最后,如果您想公开提供服务,那么您可能真的应该获得由真正的 CA 签名的证书。通常这些都是要花钱的,但 Let's Encrypt 小组将免费颁发有效期为 90 天的证书,并有一个 API 可以让您在证书到期之前更新证书。详情here

    【讨论】:

    • Openssl 可以在许多不同的操作系统上运行,但它通常默认安装在 Linux 上。如果你愿意,你可以在 windows/OSx 上安装它
    • hardillb,我在运行命令时遇到了错误。我问了另一个与错误有关的问题。 stackoverflow.com/questions/39953077/…
    猜你喜欢
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    • 2017-12-06
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 2020-09-24
    相关资源
    最近更新 更多