【问题标题】:How to host over HTTPS with nodejs using an existing certificate如何使用现有证书通过 nodejs 通过 HTTPS 托管
【发布时间】:2020-03-09 15:26:07
【问题描述】:

我在托管网站上购买了 HTTPS SSL 连接证书。我收到了一个 [name].crt 文件

var options = {
    cert: fs.readFileSync('./https/8546332154a5224.crt')
};
var app = express();
var server = https.createServer(options, app);
var expressWs = expressWs(app, server);

我认为我需要一个证书签名请求文件 .csr 和一个私钥。我不知道如何生成它们。

【问题讨论】:

  • 您使用的是 Windows、Mac 还是 Linux?
  • @Ryan 我在 Linux 上
  • “我为托管网站上的 HTTPS SSL 连接购买了证书。我收到了 [name].crt 文件” - 如果您购买了证书,那么您不会首先需要有一个 CSR 和一个匹配的密钥 - 这是您需要在此处使用的密钥。我认为您需要记住购买证书时的实际操作,并按照您可能收到的说明进行操作。
  • 需要明确的是,您通常需要 CSR 从 CA 获取证书,但之后不需要。要运行服务器,您需要 CA 的私钥、服务器证书和适当的 (又名中间)证书。要运行 nodejs 服务器,您需要 OpenSSL 兼容的 PEM 格式或 PKCS12(又名 PFX)格式的这三样东西。 OP:请查看您的文件并确定您实际拥有的内容以及它是否与此匹配。

标签: ssl ssl-certificate


【解决方案1】:

您可以从命令行使用 OpenSSL。 OpenSSL 生成私钥和 CSR 文件:

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

【讨论】:

  • 我认为服务器和签名证书无效。我得到 _tls_common.js:135 c.context.setCert(cert); ^ 错误:错误:0909006C:PEM 例程:get_name:没有起始行
猜你喜欢
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
  • 2015-02-17
  • 2012-07-10
  • 2011-02-08
  • 2012-03-30
  • 1970-01-01
相关资源
最近更新 更多