Ошибка сертификата SSL Node.js

Я пытаюсь использовать свой купленный сертификат SSL в Node.js - этот сертификат работает отлично в Nginx и Apache без любых ошибок.

Однако, когда я пытаюсь использовать его в Node.js, я получаю эту ошибку:

tls.js:1124
throw new Error('Missing PFX or certificate + private key.');
      ^
Error: Missing PFX or certificate + private key.
at Server (tls.js:1124:11)
at new Server (https.js:35:14)
at Object.exports.createServer (https.js:54:10)
at Object.<anonymous> (/usr/home/server.js:9:20)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)

Вот мой код server.js:

var https = require('https');
var fs = require('fs');

var options = {
  key: fs.readFileSync('key.key'),
  cert: fs.readFileSync('cert.crt')
};

var server = https.createServer(function(req, res) {
  res.writeHead(200);
  res.end('Hello Http\r\n');
});
server.listen(8080, '127.0.0.1');

Я заметил, что некоторые примеры требуют преобразования .crt и .key к .pem формату. Я могу преобразовать .crt файл, но преобразование .key файла дает мне эту ошибку:

[localhost ~]$ openssl x509 -in key.key -out key.pem -outform PEM
unable to load certificate
34379118248:error:0906D06C:PEM routines:PEM_read_bio:no start line:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/pem/pem_lib.c:703:Expecting: TRUSTED CERTIFICATE

Я в потере на том, что сделать затем. Как я упомянул ранее, этот сертификат SSL в настоящее время устанавливается и работает на Nginx и Apache без любых проблем.

Какие-либо идеи, что я могу попробовать затем?

** РЕШЕННЫЙ **

Я просто должен был изменить 'createServer' строку на:

var server = https.createServer(options, function(req, res)
0
задан 13 September 2014 в 00:29
1 ответ

Закрытый ключ находится в формате RSA, а не X509. В команде преобразования openssl используйте "rsa" вместо "x509".

.
4
ответ дан 4 December 2019 в 11:49

Теги

Похожие вопросы