OpenSSL 命令行工具版本和密码

OpenSSL command line tool version and cipher

我有 2 台计算机 - 让我们将其命名为 AB。两者都安装了相同的 OpenSSL 版本。 Debian 8.3.

OpenSSL 1.0.1k 8 Jan 2015

我尝试通过 SSL 从两者连接到邮件服务器。

openssl s_client -host pop.amailserver.net -port 995 

From A 我需要指定 ssl 版本(参数 -tls1 或 -tls1_1)以使其工作。

如果不是,我会得到一个错误。

SSL routines:SSL3_GET_SERVER_HELLO:wrong ssl version:s3_clnt.c:851

...

New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
  Protocol  : TLSv1.1
  Cipher    : 0000

但是从 B 开始,它无需任何参数即可开箱即用。

Protocol  : TLSv1
Cipher    : AES128-SHA

问题是一些库似乎使用了这个设置并且无法从 A 连接(从 B 工作)。所以我认为这是同样的原因——我无法将一些 SSL 参数传递给库。

有谁知道是否配置或设置了此行为?

没有影响系统上所有基于 OpenSSL 的应用程序的密码或协议的全局设置。我的猜测是不同之处在于网络,例如

  • 某处有一个 SSL 拦截中间件(防火墙或类似的)
  • 目标不同,即A和B使用不同的IP地址连接服务器。这可能是因为服务器可通过 IPv4 和 IPv6 访问,但一个系统具有 IPv6 连接而另一个没有。但也有可能使用不同 IP 地址的其他原因。