gpt4 book ai didi

node.js - 使用 StartSSL 证书在 Mac OSX 上的 Node.js 上启动 HTTPS 时出错

转载 作者:IT老高 更新时间:2023-10-28 23:16:36 26 4
gpt4 key购买 nike

我正在尝试使用 StartSSL 证书运行 HTTPS 服务器。我从他们那里得到了所有必要的文件,并通过在 createServer 参数中传递它们来使用它们:

var options =
{
ca: FS.readFileSync('sub.class1.server.ca.pem'),
key: FS.readFileSync('ssl.key'),
cert: FS.readFileSync('ssl.crt')
};

这是我得到的错误。

Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Object.createCredentials (crypto.js:87:31)
at HTTPSServer.Server (tls.js:914:28)
at HTTPSServer.Server (https.js:33:14)
at HTTPSServer.HTTPSServer (/Users/myUserName/node_modules/connect/lib/https.js:34:16)
at new HTTPSServer (/Users/myUserName/node_modules/express/lib/https.js:38:23)
at Object.createServer (/Users/myUserName/node_modules/express/lib/express.js:43:12)
at Object.<anonymous> (/Users/myUserName/Sites/node.js/https/app.js:12:36)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)

我想也许我应该将证书转换为 PEM。但运行:

openssl x509 -in ssl.crt -out ssl.der -outform DER

...给我类似的错误

unable to load certificate
67304:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-44/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE

知道为什么吗?

更新:这只发生在 OSX 上。我尝试在 Ubuntu 服务器上运行相同的东西,它可以工作。

最佳答案

我遇到了同样的问题。但是我可以确认,在我的机器(macbook osx 10.7.3)上, Node https 现在可以使用自签名证书正常运行。

该特定错误意味着它要么找不到文件,要么文件中没有任何内容(您可以通过传递空字符串或使用无效的文件路径来确认这一点。)

首先,尝试使用绝对路径 - 例如FS.readFileSync(__dirname + 'ssl.crt').

同时打开您的证书和 key 文件并确认它们包含以下形式的数据:'-----BEGIN'...等。

还请注意,虽然您的文件是 .cert 和 .key 文件,但文档指的是扩展名为 .pem 的证书和 key 文件。

http://nodejs.org/api/https.html

据我了解,没有太大区别,内容看起来和我很相似,但这些东西可能很繁琐。

这是一个将 .csr 文件转换为 .pem 文件的命令:

openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem

取自 http://silas.sewell.org/blog/2010/06/03/node-js-https-ssl-server-example/

关于node.js - 使用 StartSSL 证书在 Mac OSX 上的 Node.js 上启动 HTTPS 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10157987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com