我在 Windows(环境同时具有 Windows 2008 和 Windows 10 环境)平台上启用 TLS 1.2 连接时遇到问题。目前,我的私钥由 Windows 证书存储管理,使用 stunnel (v 5.41) 中的 CAPI engineId,它使用 OpenSSL 1.0.2k-fips。因此,stunnel 只能协商 TLS 1.1 连接(出于显而易见的原因,SSLv2 和 SSLv3/TLS1 被禁用)。
我试过编译 OpenSSL 1.1.0f 和 stunnel 5.41,但是在 CentOS 下交叉编译,或者在 Windows 下使用 MSYS2/MINGW32 或 Cygwin 都没有运气。
我正在专门寻找一种方法来管理 stunnel 中的 pfx/p12(私钥),而无需求助于 Windows 证书存储。我找到了一个关于如何配置 stunnel 以使用 capi 的示例 - 效果很好,但是因为 openssl 1.0.2 不支持 TLS 1.2 中使用的密码,所以只有 TLS 1.1 有效。我需要 TLS 1.2。
https://www.stunnel.org/pipermail/stunnel-users/2017-February/005720.html记录了为什么我不能将 TLS 1.2 与 OpenSSL 1.0.2 一起使用。
OpenSSL 1.0.2 是 stunnel 5.41 内置的。重新编译没有用。我正在专门寻找如何配置 stunnel 以指向 pkcs12 键。