使用手动设置的版本和密码套件模拟 TLS/SSL 端点
Mocking a TLS/SSL endpoint with manually set versions & ciphersuites
我有一个客户端应用程序,它通过 SSL/TLS-Tunnels 使用大量 Web 服务。我正在尝试测试对特定 SSL/TLS 版本和可能的回退的处理和支持。
是否有一个轻量级工具可以让我设置一个安全端点,我可以为其手动设置支持的版本和密码套件(例如在配置文件中)。我一直在测试 SoapUI 中的 WS 功能,但它不提供为接受的 SSL/TLS 连接设置版本或密码套件,因此我正在尝试使用其他工具自行测试隧道。
例如
我的客户端设置为 TLS 1.0,只有 [TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA]
模拟服务器仅接受 TLS 1.1 及更高版本
预期结果:握手失败
欢迎任何反馈!
您可能想看看 Mock Server。它是基本的 Java,您应该能够根据您的设置需求对其进行调整。
为此我使用了 openssl 的 s_server 并取得了不错的效果:
openssl s_server -accept 443 -WWW -cipher AES128-SHA -tls1_1
这将使用 AES128-SHA 密码套件(使用 'openssl ciphers' 获取完整列表)提供当前目录中的文件,并仅限于 TLS v1.1。其他版本可以选择-tls1_0或-tls1_2。您需要将 PEM 格式证书和私钥放入 server.pem 或使用其他文件和格式的选项 (-cert -key -certform -keyform)。
我有一个客户端应用程序,它通过 SSL/TLS-Tunnels 使用大量 Web 服务。我正在尝试测试对特定 SSL/TLS 版本和可能的回退的处理和支持。
是否有一个轻量级工具可以让我设置一个安全端点,我可以为其手动设置支持的版本和密码套件(例如在配置文件中)。我一直在测试 SoapUI 中的 WS 功能,但它不提供为接受的 SSL/TLS 连接设置版本或密码套件,因此我正在尝试使用其他工具自行测试隧道。
例如 我的客户端设置为 TLS 1.0,只有 [TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA] 模拟服务器仅接受 TLS 1.1 及更高版本 预期结果:握手失败
欢迎任何反馈!
您可能想看看 Mock Server。它是基本的 Java,您应该能够根据您的设置需求对其进行调整。
为此我使用了 openssl 的 s_server 并取得了不错的效果:
openssl s_server -accept 443 -WWW -cipher AES128-SHA -tls1_1
这将使用 AES128-SHA 密码套件(使用 'openssl ciphers' 获取完整列表)提供当前目录中的文件,并仅限于 TLS v1.1。其他版本可以选择-tls1_0或-tls1_2。您需要将 PEM 格式证书和私钥放入 server.pem 或使用其他文件和格式的选项 (-cert -key -certform -keyform)。