Node.js https密钥和证书

Node.js https密钥和证书,node.js,https,Node.js,Https,嗨, 我尝试使用openssl for windows创建pem密钥和csr: 测试1 创建了两个文件名key\u localhost.pem和cert\u localhost.pem。我将这两个文件粘贴到我的server.js文件的同一级别。然而,我的浏览器出现了安全问题。 在浏览器上显示: The certificate is not safe because it is self-signed. The most valid certificate only for. Error c

嗨,
我尝试使用openssl for windows创建pem密钥和csr:

测试1 创建了两个文件名
key\u localhost.pem
cert\u localhost.pem
。我将这两个文件粘贴到我的server.js文件的同一级别。然而,我的浏览器出现了安全问题。

在浏览器上显示:

The certificate is not safe because it is self-signed.
The most valid certificate only for. 
Error code: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
这是我的server.js

https.createServer({
    key: fs.readFileSync('key_localhost1.pem'),
    cert: fs.readFileSync('cert_localhost1.pem'),
    passphrase: 'localhost',
  }, app).listen(8080);
https.createServer({
    key: fs.readFileSync('key.pem'),
    cert: fs.readFileSync('cert_localhost2.crt'),
    passphrase: 'localhost',
  }, app).listen(8080);
测试2 我尝试了另一件事:

openssl> req -newkey rsa:2048 -new -nodes -keyout key.pem -out key_localhost2.pem
openssl> x509 -req -days 365 -in key_localhost2.pem -signkey key.pem -out cert_localhost2.crt
这创建了三个文件名
key\u localhost.pem
cert\u localhost.pem
key.pem
。但我的浏览器上没有任何变化。。。

这是我的server.js

https.createServer({
    key: fs.readFileSync('key_localhost1.pem'),
    cert: fs.readFileSync('cert_localhost1.pem'),
    passphrase: 'localhost',
  }, app).listen(8080);
https.createServer({
    key: fs.readFileSync('key.pem'),
    cert: fs.readFileSync('cert_localhost2.crt'),
    passphrase: 'localhost',
  }, app).listen(8080);
任何帮助都将不胜感激。


谢谢

错误告诉您问题所在:您正在使用的自签名证书被认为存在安全风险。受信任(通过浏览器)CA(证书颁发机构)需要在浏览器认为密钥安全之前对密钥进行签名。一个这样的CA是


有一个名为的模块,可以自动从Let's Encrypt请求证书。我自己从未使用过这个模块,所以不知道它工作得有多好。

我认为浏览器要求您添加例外。您可以访问以下任何链接:


您的错误消息是法语的,它是一张图片,因此我无法将其复制/粘贴到Google Translate中,但我认为它表明您使用的是自签名证书,因此浏览器无法信任它。您正在使用自签名证书,因此这是意料之中的。谢谢您的回答。我将尝试遵循教程,让我们加密,也许测试自动sni。我不明白为什么在openssl教程中,我没有遵循CA的tolk。。。?