OpenSSL 上的电报机器人 [英] Telegram bot on OpenSSL

查看:109
本文介绍了OpenSSL 上的电报机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用 https://core.telegram.org/bots 时遇到问题.

I have problem with https://core.telegram.org/bots.

  1. 从 BotFather 获取令牌.
  2. 创建自签名 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"}

  1. 电报连接到我的服务器.错误:

  1. 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

好的.没问题.

如何:

  1. 运行 openssl s_client ... 作为 Telegram.使用 -cert YOURPUBLIC.pem 不起作用.
  2. 解决此问题并接收数据.

推荐答案

需要设置真实的服务器名来验证CN,等于URL(4).

Need set real server name to sertificate CN, equal URL(4).

这篇关于OpenSSL 上的电报机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆