Использование закрытого ключа от GoDaddy на Nodejs - PullRequest
1 голос
/ 03 апреля 2019

Мы приобрели доменное имя и SSL-сертификат на Godaddy, но наш сервер не на GoDaddy.Мы запускаем Lampp и NodeJS на нашем сервере, и мы пытаемся настроить SSL с обоими.С Lampp проблем нет.закрытый ключ и сертификат от Godaddy работает.но когда я пробую те же файлы с NodeJS.это не удается.

Это мой js-скрипт:

ssl = {
key: fs.readFileSync("./key.pem",'utf8'),
cert: fs.readFileSync("./cert.crt",'utf8'),
ca: [fs.readFileSync('./g1.crt','utf8'), 
fs.readFileSync('./g2.crt','utf8'), fs.readFileSync('./g3.crt','utf8')]
};
server = require('https').createServer(ssl, app);

Это ошибка

_tls_common.js:104
  c.context.setKey(options.key, options.passphrase);
            ^

  Error: error:0909006C:PEM routines:get_name:no start line

После некоторого поиска в Google, я попытался несколько решений: добавление "utf8msgstr ", разбивая пакет gd, используя nodepad ++ для исправления кода.Никто из них не помог.

Однако nodejs может использовать мой самозаверяющий ключ и файлы сертификатов.Так что я хотел бы спросить.Я сгенерировал мой ключ неправильно?Стоит ли вручную генерировать закрытый ключ / CSR локально и запрашивать новый сертификат на GoDaddy?или в моем коде что-то не так?

1 Ответ

0 голосов
/ 03 апреля 2019

Это сообщение об ошибке будет означать, что эти файлы неверны, повреждены или были запрошены для других ОС . Итак, у нас есть несколько вариантов.

  1. Резолюция о коде (импорт библиотеки файловой системы и использование полный путь ).
let yourKey = fs.readFileSync('./folderOne/folderTwo/initial.key').toString();
let yourCertificate = fs.readFileSync('./folderOne/folderTwo/certificate.crt').toString();
var credentials = { key: yourKey, cert: yourCertificate };
  1. Разрешение, запрашиваемое для совместимости с ОС:
    • Запрос новых сертификатов с примечанием о том, что ОС (Linux, Windows и т. Д.) Отправляет исходный ключ для отправителя, который был вам отправлен.

Внимание! Вам нужны только файл .crt и закрытый ключ.

...