【发布时间】:2016-06-26 17:58:15
【问题描述】:
我有一个在 HTTP 上运行良好的 Hapi 服务器。我需要通过 HTTPS 完成这项工作。我有一张我们从 COMODO 购买的证书。
我的钥匙
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDGyXFDz/pSzMxO
...
g7N2PgtU9nhM7eYhQmhjB+4=
-----END PRIVATE KEY-----
我的证书
-----BEGIN CERTIFICATE-----
MIIFbDCCBFSgAwIBAgIRAK3oQPHzO66FR3iLafOh2JkwDQYJKoZIhvcNAQELBQAw
...
pvWiUJabAat2O+hexjv55O4RkfQ13aIKo1Z7VeWyNQdEPaSCOFtteC4a3WelWcZ7
-----END CERTIFICATE-----
(也尝试过使用组合根证书捆绑包,但存在相同问题)
编辑:证书和密钥都是 PEM 格式而不是 DER 格式。行尾也没有问题。
我的服务器代码
var tls = {
key: fs.readFileSync('privkey.pem'),
cert: fs.readFileSync('certificate.pem')
};
var server = new Hapi.Server();
server.connection({
address: '0.0.0.0',
port: 443,
tls: tls,
routes: { cors: { origin: ['*'] }, validate: { options: { abortEarly: false } } }
});
尝试启动服务器时出现以下错误
node server.js
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Error (native)
at Object.createSecureContext (_tls_common.js:87:19)
at Server (_tls_wrap.js:754:25)
at new Server (https.js:24:14)
at Object.exports.createServer (https.js:44:10)
at new module.exports.internals.Connection.options (W:\project\node_modules\hapi\lib\connection.js:89:74)
at internals.Server.connection (W:\project\node_modules\hapi\lib\server.js:121:24)
at Object.<anonymous> (W:\project\server.js:98:8)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
发生了什么事?我该如何解决? 任何帮助,将不胜感激。 谢谢
【问题讨论】:
-
是的,我有一个连接证书(我在上面提到这个作为“组合根证书包”,因为没有更好的术语),使用它我有同样的问题。
-
感谢您的链接。我已经看过了。证书和密钥都是 PEM 格式而不是 DER 格式。行尾也没有问题。
标签: node.js ssl https hapijs tls1.2