【发布时间】:2020-11-23 22:35:19
【问题描述】:
Server: Win Server 2012
Web server: IIS 8.5
Project: Asp.Net MVC
我为我的域及其子域购买了通配符 SSL 证书,并将其安装在我的服务器上并绑定到网站(在 IIS 中)。
它在浏览器中显示绿色安全 HTTPS。
我使用 Telegram SetWebhook 和我的 webhook URL(类似这样:https://webhook.example.com/api/WebhookAction/)
但是当我运行 Telegram GetWebhookInfo 它返回 certificate verify failed 错误:
{
"ok":true,
"result":{
"url":"https://webhook.example.com/api/WebhookAction/",
"has_custom_certificate":false,
"pending_update_count":1,
"last_error_date":1489066503,
"last_error_message":"SSL error {336134278, error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed}",
"max_connections":40
}
}
您如何看待这个问题?
- 我是否应该将 Webhook Url 更改为 None-SubDomain 地址,如下所示:
https://mydomain:8443/api/WebhookAction? - 我的
SSL有什么问题吗(例如应该是None-Wildcard SSL)?
编辑
我也试过了:
自签名证书方式
一)
我通过以下 OpenSSL 命令而不是通配符 SSL 创建了 自签名证书
openssl req -newkey rsa:2048 -sha256 -nodes -keyout MyDomain_private_key.key -x509 -days 365 -out MyDomain_public.pem -subj "/C=US/ST=New York/L=MyDomain/O=MyDomain/CN=webhook.example.com"
B)
然后我通过这个命令从输出文件中创建了一个PFX:
openssl pkcs12 -export -out MyDomain.pfx -inkey MyDomain_private.key -in MyDomain_public.pem -certfile MyDomain_public.pem
C)
然后我在服务器上安装了MyDomain.pfx并将其绑定到Https://webhook.mydomain.com。
D)
我还使用了SetWebhook 命令中的MyDomain_public.pem 文件作为认证文件(带有第三个库和Curl 命令)。
Curl 命令:
curl -F "url=https://webhook.example.com/api/Webhookaction/" -F "certificate=C:\path\mydomain_public.pem" https://api.telegram.org/bot[TOKEN]/setWebhook
但是当我调用GetWebhookInfo API 命令时,它返回这个错误:
{
"ok":true,
"result":{
"url":"https://api.telegram.org/bot[token]/setWebhook?url=https://webhook.mydomain.com/api/webhookaction/",
"has_custom_certificate":true,
"pending_update_count":1,
"last_error_date":1489126755,
"last_error_message":"SSL error {336134278, error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed}",
"max_connections":40
}
}
我的错误是什么?
【问题讨论】:
-
有一种更简单的方法可以进行这种自签名。请为此主题创建一个新问题,以便其他 SO 用户更清楚
-
OK @CharlesOkwuagwu,我写了另一个关于如何创建用于电报 webhook 的自签名证书的问题,我很快就会把它的链接放在这里。谢谢。
-
请给个新问题的链接
-
谢谢@CharlesOkwuagwu。新问题链接:stackoverflow.com/questions/42713926/…
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?
标签: ssl openssl telegram telegram-bot