Tôi đang tách các sợi tóc cố gắng để máy chủ HTTPS chạy bằng StartSSL cert. Tôi có tất cả các file cần thiết từ họ và tôi sử dụng chúng bằng cách đi qua chúng trong createServer
đối số:Lỗi khi khởi động HTTPS trên Node.js trên Mac OSX bằng cách sử dụng StartSSL cert
var options =
{
ca: FS.readFileSync('sub.class1.server.ca.pem'),
key: FS.readFileSync('ssl.key'),
cert: FS.readFileSync('ssl.crt')
};
Và đây là lỗi tôi nhận.
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)
Tôi nghĩ có lẽ tôi nên chuyển đổi chứng chỉ sang PEM. Nhưng chạy:
openssl x509 -in ssl.crt -out ssl.der -outform DER
... mang lại cho tôi lỗi tương tự
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
Bất cứ ý tưởng tại sao?
CẬP NHẬT: Điều này chỉ xảy ra trên OSX. Tôi đã thử chạy cùng một thứ trên một máy chủ Ubuntu và nó hoạt động.