问题描述
我在使用 https://core.telegram.org/bots 时遇到问题.
I have problem with https://core.telegram.org/bots.
- 从 BotFather 获取令牌.
创建自签名 ssl 证书 (https://core.telegram.org/机器人/自签名):
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=示例布鲁克林公司/CN=YOURDOMAIN.EXAMPLE"
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=YOURDOMAIN.EXAMPLE"
运行服务器:
openssl s_server -accept 88 -key YOURPRIVATE.key -cert YOURPUBLIC.pem
openssl s_server -accept 88 -key YOURPRIVATE.key -cert YOURPUBLIC.pem
发送钩子:
curl -F "url=https://URL:88/bot" -F "certificate=@YOURPUBLIC.pem" https://api.telegram.org/botTOKEN/setWebhook
curl -F "url=https://URL:88/bot" -F "certificate=@YOURPUBLIC.pem" https://api.telegram.org/botTOKEN/setWebhook
答案:
{"ok":true,"result":true,"description":"Webhook was set"}
电报连接到我的服务器.错误:
Telegram connect to my server. Error:
139690177754952:错误:14094416:SSL 例程:SSL3_READ_BYTES:sslv3 警报证书未知:s3_pkt.c:1257:SSL 警报编号 46
139690177754952:error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate unknown:s3_pkt.c:1257:SSL alert number 46
测试:
openssl s_client -connect URL:88
openssl s_client -connect URL:88
好的.没问题.
如何:
- 运行 openssl s_client ... 作为 Telegram.使用 -cert YOURPUBLIC.pem 不起作用.
- 解决此问题并接收数据.
推荐答案
需要设置真实的服务器名来验证CN,等于URL(4).
Need set real server name to sertificate CN, equal URL(4).
这篇关于OpenSSL 上的电报机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!