Использование закрытого ключа от GoDaddy на Nodejs

Мы приобрели доменное имя и SSL-сертификат на godaddy, но наш сервер не на GoDaddy. МЫ запускаем Lampp и NodeJS на нашем сервере, и мы пытаемся настроить SSL для обоих. С Лампой проблем нет. закрытый ключ и сертификат от 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 я попробовал несколько решений: добавление «utf8», разделение пакета gd, использование nodepad ++ для исправления кода. Ни один из них не помог.

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

Там действительно написано TongueEM, а не PEM? Это действительно странно. Убедитесь, что ваши файлы на самом деле имеют формат PEM: строка -----BEGIN (тип)-----, некоторые строки base64 шириной не более 76 символов и -----END (тип)- ---- линия. Строки должны заканчиваться LF или CRLF. Убедитесь, что тип файла закрытого ключа является допустимым типом закрытого ключа. Если эти файлы находятся или находились в Windows, убедитесь, что они НЕ имеют «BOM» (знак порядка байтов) в начале. (Используйте шестнадцатеричный редактор или аналогичный; спецификация невидима в обычных текстовых редакторах, таких как блокнот.)

dave_thompson_085 03.04.2019 19:17

Если я ошибаюсь, то ошибка такая Error: error:0909006C:PEM routines:get_name:no start line

Eze 03.04.2019 19:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
2
1 063
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

  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 и закрытый ключ.

Спасибо, используйте вариант 2

Eze 03.04.2019 21:14

Другие вопросы по теме