如何测试 Web 服务客户端应用程序是否支持 TLS?

如何测试 Web 服务客户端应用程序是否支持 TLS?

我有一个访问 HTTPS Web 服务的客户端应用程序。它使用外部库来支持 SSL。

服务提供商已建议他们放弃 SSL 3 支持,并且从特定日期起仅支持 TLS 1.0(或更高版本)连接。

我可以配置客户端,例如,使用 HTTPS GET 请求访问我电脑(或 Linux 服务器)上的测试 Web 服务器。

如何使用 Apache 或者 Perl 之类的工具来设置测试服务,以积极测试客户端是否支持 TLS 1.0 或更高版本?

答案1

我还没有找到我想要的解决方案。不过,网上有一些网站可以报告你的客户端支持什么级别的 SSL。

其中一个(可能还有其他的,我不赞同这个)是howsmyssl.com,其报告如下:

您的 SSL 客户端不好。

版本:良好

您的客户端正在使用 TLS 1.2,这是加密协议的最新版本。它让您能够访问网络上最快、最安全的加密
。...

不安全的密码套件:不好

您的客户端支持已知不安全的密码套件:
...

在这种情况下,这表明我的客户端软件支持 >= TLS 1.0,并且不限于 <= SSL 3

我发布这个答案是因为其他人现在或将来可能会发现它对于验证协议级别很有用。


脚注:参见malgassar 的后续回答以获取 Go 语言的 GitHub 源代码链接,该源代码可用于按照我最初寻找的方式实现本地测试服务器。

答案2

它可能在 2015 年发布原始帖子时尚未提供,但您提到的网站 (howsmyssl.com) 以 REST 服务链接的形式提供了 API (https://www.howsmyssl.com/s/api.html),您可以通过 Web 请求将其与任何客户端代码(例如,在我的情况下是 c# .NET Windows 应用程序)一起使用。您也可以在浏览器中输入链接,然后在浏览器中提交请求后查看返回的结果。

相关内容