1

я получаю эту ошибку, когда я попытался установить webhook URL для facebook посыльного бота:Самозаверяющих выдачи сертификата на установку webhhok для Facebook-мессенджер приложения бот

URL-адрес не может быть подтвержден. Ошибка проверки обратного вызова со следующими ошибками: curl_errno = 60; curl_error = проблема сертификата SSL: самоподписанный сертификат в цепочке сертификатов; Код состояния HTTP = 200; HTTP-сообщение = Установлено соединение

Сначала я создал сертификат.

1) Я использовал this config file и создал certificete авторитет:

openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-crt.pem 

2) Я создал секретный ключ

openssl genrsa -out server-key.pem 4096 

Тогда я генерируется запрос подписи сертификата с использованием this configuration file

openssl req -new -config server.cnf -key server-key.pem -out server-csr.pem 

После этого я выполнил команду:

openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in server-csr.pem -CA ca-crt.pem -CAkey ca-key.pem -CAcreateserial -out server-crt.pem 

Я не использовал какое-либо свойство в конфигурационных файлах. Затем установили свой сертификат на сервере окон на this way

На моем приложении Node.js я создал сервер по протоколу HTTPS с помощью этой опции:

var server = https.createServer({ 
    ca: fs.readFileSync('sslcert/ca-crt.pem', 'utf8'), 
    key: fs.readFileSync('sslcert/server-key.pem', 'utf8'), 
    cert: fs.readFileSync('sslcert/server-crt.pem', 'utf8') 
}, app); server.listen(port); 

И когда я попытался установить webhook я получил выше ошибки. Если я открываю webhook URL в браузере я получаю

NET::ERR_CERT_AUTHORITY_INVALID 

, если игнорировать эту консоль приложения ошибка показывает статус 200

ответ

1

Это правильно, URL не может быть подтверждено, потому что ваш самостоятельно подписанный сертификат в сертификате цепь. Это ожидаемое поведение.

Самоподписанные сертификаты подходят только для шифрования соединения, но они не передают другую важную часть проверки сторонней проверки, что поставщик является тем, кем они говорят, что и есть, что является валидацией.

Чтобы подтвердить свой обратный вызов, вам необходимо получить сертификат, который выполняет эту проверку. Вы можете купить его у авторитетного поставщика или воспользоваться услугой, например StartSSL, чтобы получить ее бесплатно (я ни с кем не связан с ними, у меня только был хороший опыт работы с ними).

1

Вы следуете THIS и использовать letsencrypt после того, что вы получите эти четыре файла
1.cert.pem
2.chain.pem
3.fullchain.pem
3.privkey.pem
chain.pem это файл CA.

Here Я также написал небольшой фрагмент кода, чтобы использовать их.

+0

Спасибо Рави, я посмотрю шаг, чтобы увидеть, хорошо ли он работает – MatthewLuiHK

 Смежные вопросы

  • Нет связанных вопросов^_^