Mandrill webhooks,SSL证书验证失败,验证CA证书没问题

Posted

技术标签:

【中文标题】Mandrill webhooks,SSL证书验证失败,验证CA证书没问题【英文标题】:Mandrill webhooks, SSL certificate verify failed, verify that the CA cert is OK 【发布时间】:2019-01-26 04:37:25 【问题描述】:

我已经收到这个错误很长时间了:

POST 到https://www.xxxxxx.com/hook/mandrill/quotations/opened 失败:SSL 证书问题,验证 CA 证书是否正常。详细信息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

Comodo 最近为我更新了我的证书,从那以后,我一直遇到这些错误。

它似乎仍然有效,但我担心某些 webhook 可能无法通过。

是否有人也遇到这些错误?会不会是他们这边的问题?因为我已经在https://www.sslshopper.com/ssl-checker.html 上检查了我的网站,而且它似乎非常好..

我也在亚马逊上托管我的网站

谢谢

【问题讨论】:

【参考方案1】:

这是您安装的 SSL 证书的问题。您很可能没有将.crt 文件和他们提供给您的.ca-bundle 文件结合起来,只安装了.crt 文件。 Comodo 在提供给您的 zip 包中提供了以下两个文件:

_yourdomain_com.crt

_yourdomain_com.ca-bundle

.ca-bundle 包括您的所有中间证书。您需要将上述两个文件的内容组合在一起。您的输出 .crt 文件将类似于:

-----BEGIN CERTIFICATE-----
contents of original crt file
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
contents of 1st cert in ca-bundle file
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
contents of 2nd cert in ca-bundle file
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
etc...
-----END CERTIFICATE-----

您必须将原始证书列为输出文件中的第一个证书。然后是捆绑包中的中间证书。

将您的服务器指向的.crt 文件替换为上面的输出.crt 文件。无需更改 Apache 或 nginx 的任何 Web 服务器配置 - 两者都支持捆绑证书。请确保在进行更改后重新启动您的网络服务器。

在您进行上述任何更改之前,您实际上可以通过对您的域运行SSL test 来查看缺少的.ca-bundle 是否导致了您的错误。在测试完成后的结果部分中,查找 Additiona Certificates。如果您的 .crt 文件中没有适当的中间证书,结果将表明您缺少证书。

【讨论】:

以上是关于Mandrill webhooks,SSL证书验证失败,验证CA证书没问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 验证 Mandrill Webhook

sentinl webhook ssl https 忽略证书认证

如何在 PHP 中验证 Paypal webhook 签名?

ruby 中的 Mandrill 验证,在 php 和 ruby​​ 之间的翻译中丢失

Mandrill Webhook - 安全性

如何在 .net 中处理 Mandrill WebHooks