我想为我的电报机器人 webhook 设置自签名证书。我使用了这个 openssl 命令来创建公钥,如Marvin's Marvelous Guide to All Things Webhook 中所述:
openssl req -newkey rsa:2048 -sha256 -nodes -keyout YOURPRIVATE.key -x509 -days 365 -out \
YOURPUBLIC.pem -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=example.com"
然后我使用curl或postman设置 webhook 并发送证书。他们都只是给我Webhook was set
,但机器人没有回应。之后我使用getwebhookinfo来检查问题。
它返回:
"last_error_message": "SSL error {337047686, error:1416F086:SSL routines:
tls_process_server_certificate:certificate verify failed}",
我用谷歌搜索了它,但我找不到解决方案。您可以在下面看到一些额外的信息。
curl -F "url=https://mydomain.ir/responser.php" -F "certificate=@YOURPUBLIC.pem" https://api.telegram.org/bot.../setWebhook
我的公钥与 cmd 运行在同一个文件夹中。
我的域也没有有效的 ssl 证书,因此 chrome 只会显示警告。你的连接不是私人的
而且我确信后台代码可以工作,因为它之前已经过测试。
感谢您的进一步帮助。