@DromHour

Почему Axios не принимает сертификат SSL (unable to verify the first certificate)?

Создаю REST API на сайте, SSL принимается браузером, выпущен Encryption Everywhere.
При попытке сделать запрос из программы через Axios, выкидывает ошибку:
Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1058:34)
at TLSSocket.emit (events.js:198:13)
at TLSSocket.EventEmitter.emit (domain.js:448:20)
at TLSSocket._finishInit (_tls_wrap.js:636:8)

Поскольку SSL-сертификат бесплатный, понял, что доверия к нему нет. Однако, как мне добавить сертификат в список доверенных при запросе?
Пробовал:
const agent = new https.Agent({
    rejectUnauthorized: false,
    ca: fs.readFileSync("./certificate.crt")
});
(async() => {
    console.log(await axios.get('http://site.ru/api.php'), {httpsAgent: agent});
})()


certificate.crt пробовал поставить и корневой, и промежуточный, и стандартный, даже пробовал их объединить в список - не выходит...
Собственно, и что мне делать-то?
  • Вопрос задан
  • 1705 просмотров
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4 Куратор тега Цифровые сертификаты
//COPY01 EXEC PGM=IEBGENER
Изучить вопрос глубже и разобраться:
- либо какое хранилище корневых сертификатов используется в данном фрагменте кода (вовсе не факт, что то место, куда Вы кладете - используется в качестве хранилища корневых сертификатов, кроме того, не нужно забывать делать линки)
- либо как отключить проверку валидности (заставить принимать любой сертификат). Это конечно так себе решение, в прод такое нельзя, но для тестирования, чтобы не тормозить на этом месте пойдет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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