0

我正在尝试设置签名证书以在 nodejs 上设置 HTTPS 服务器。但是我在 chrome 中不断收到以下错误(在其他浏览器上也类似)。

"Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error."

当我使用自签名证书运行相同的代码时,它工作正常。

然后我运行了 openssl verify,似乎证书没问题。

$ openssl verify -CAfile ./ca.crt server.crt
server.crt: OK

这就是我使用签名证书运行它的方式:

    var privateKey  = fs.readFileSync('sslcert/server.key').toString();
    var certificate = fs.readFileSync('sslcert/server.crt').toString();
    var ca = fs.readFileSync('sslcert/ca.crt').toString();
    var credentials = {key: privateKey, cert: certificate, ca: ca};

    //Start Server
    https.createServer(credentials, app).listen(httpsPort, function () {
        console.log("Listening on port " + httpsPort + ' (https)');
    });
4

1 回答 1

0

我发现了问题,这是我的错误 server.key 与 server.crt 不匹配。一个简单的测试发现了它。

见: http: //www.madboa.com/geek/openssl/#cert-test

openssl s_server -cert mycert.pem -www
于 2013-06-25T11:41:11.303 回答