2

我正在尝试设置基于 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

4

2 回答 2

2

从您问题中的链接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文件。

于 2016-10-10T07:49:56.263 回答
1

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

如果是为了简单的私人游戏,那么您可以使用 openssl 创建自己的自签名证书(详情请点击此处

  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 并创建由此签名的证书。这是一个较长的过程,详细信息可以在这里找到

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

于 2016-10-07T09:42:14.027 回答