我想为我的电报机器人webhook设置自签名证书。我使用这个openssl命令来创建公共密钥,如Marvin's Marvellous 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}",
我用Google搜索了但我无法找到解决方案。 下面你可以看到一些额外的信息。
curl -F "url=https://mydomain.ir/responser.php" -F "certificate=@YOURPUBLIC.pem" https://api.telegram.org/bot.../setWebhook
我的公钥与cmd运行位于同一文件夹中。
我的域名也没有有效的ssl证书,因此Chrome只会显示警告。 您的连接不是私密的
我确信后台代码有效,因为它之前已经过测试。
感谢您的进一步帮助。