【问题标题】:Load certificate and private key for SSL in Node.js在 Node.js 中加载 SSL 的证书和私钥
【发布时间】:2016-05-05 01:15:12
【问题描述】:

抱歉,我没有证书和 SSL 方面的经验,尤其是在 Node.js 方面。我需要为express 配置选项

var https = require('https');
var options = {
    key: fs.readFileSync('key.pem'),
    cert: fs.readFileSync('csr.pem')
};
https.createServer(options, my_app).listen(3000);

如果我尝试使用自行生成的证书(openssl),一切都会像魅力一样。

现在,我需要使用我的域的真实证书更改自行生成的证书。在 Plesk 我有 3 个证书:CSR私钥 (.key)证书 (.crt) 文本格式,并且此证书已经在我的服务器的Plesk 配置上运行,所以它们没问题。

那么,我现在需要做什么?其中哪个是key.pem,哪个是csr.pem

对不起,我不知道,谁能解释一下?

【问题讨论】:

标签: node.js ssl express ssl-certificate x509


【解决方案1】:

应该是这样的:

key: fs.readFileSync('FILENAME.key'),
cert: fs.readFileSync('FILENAME.crt')

CSR 是您发送给受信任的第三方以获得签名证书的请求。您将从受信任的第三方那里收到一个证书,这就是您在 NodeJS 中使用的私钥。

【讨论】:

  • 要正确配置服务器,服务器需要发送链,而不仅仅是终端实体服务器证书。
  • @jww 你能解释一下“链条”是什么意思吗?
  • 这里有一个很好的解释entrust.com/chain-certificates。您可以从颁发/签署您的证书的第三方那里获得这些“链式”证书。通常,您可以从下载 .crt/.cer 的同一位置下载它们。
  • @Giovanni - 除了 Shokulei 的评论之外,您还可以在 “verify error:num=20” when connecting to gateway.sandbox.push.apple.com 看到如何使用 OpenSS: 的 s_client 找出需要包含在链中的中间体。没什么太多 - 您只需从您的最终实体/服务器证书返回,确保颁发者证书存在于链中。您可以搜索颁发者的专有名称,并且您通常会登陆 CA 的公共下载区域。
猜你喜欢
  • 2016-10-07
  • 1970-01-01
  • 2020-10-23
  • 1970-01-01
  • 2022-12-18
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
相关资源
最近更新 更多