2015-10-21 95 views
2

我有问题https://core.telegram.org/botsOpenSSL上的Telegram bot

  1. 从BotFather获取令牌。
  2. 创建自签名的SSL sertificate(https://core.telegram.org/bots/self-signed):

    OpenSSL的REQ -newkey RSA:2048 -sha256 -nodes -keyout YOURPRIVATE.key -x509 -days 365 -out YOURPUBLIC.pem -subj“/ C =美国/ ST =纽约/ L =布鲁克林/ O =实例布鲁克林公司/ CN = YOURDOMAIN.EXAMPLE”

  3. 运行服务器:

    OpenSSL的s_server -accept 88 - 键YOURPRIVATE.key -cert YOURPUBLIC.pem

  4. 发送挂钩:

    卷曲-F “URL = https://URL:88/bot” -F “[email protected]https://api.telegram.org/botTOKEN/setWebhook

答案:

{"ok":true,"result":true,"description":"Webhook was set"} 
  • 电报连接到我的服务器。错误:

    139690177754952:错误:14094416:SSL例程:SSL3_READ_BYTES:SSLV3警报证书未知:s3_pkt.c:1257:SSL警报号46

  • 测试:

    的OpenSSL的s_client.First -connect网址:88

  • 好的。没问题。

    如何:

    1. 运行的OpenSSL的s_client.First ......作为电报。使用-cert YOURPUBLIC.pem不起作用。
    2. 修复此问题并收回数据。
    +0

    你是如何得到电报日志行(5°点)的? –

    回答

    2

    需要设置真实的服务器名称为sertificate CN,等于URL(4)。

    +0

    谢谢迈克!我变得疯狂了!你的笔记也解决我的问题在这里:http://stackoverflow.com/questions/33932007/telegram-bot-api-webhooks-self-signed-certificate-issue –

    +0

    如果您使用IP而不是DNS名称,您必须写一个没有端口的IP地址。 – colotiline