ssl - OpenSSL 命令行工具版本和密码

标签 ssl openssl

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

OpenSSL 1.0.1k 8 Jan 2015

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

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

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 的应用程序的密码或协议(protocol)的全局设置。我的猜测是不同之处在于网络,例如

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

关于ssl - OpenSSL 命令行工具版本和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35608793/

相关文章:

spring-boot - 带有带有 http/2 和 ssl 的嵌入式 Tomcat 的 Spring Boot 2.1,gzip 不工作

ruby - 与此命令等效的 Ruby OpenSSL 库是什么?

ssl - 在 Google Compute Engine 实例上安装 SSL 证书

ssl - nodeMCU TLS 证书错误

c - SSL握手后如何获取密码签名?

ssl - 如何使自己的扩展验证证书显示绿色条

c - 如何在C中使用openssl从私钥中提取公钥

Ruby Imap OpenSSL::SSL::SSLError:读取服务器证书 B:证书验证失败

https - wget、自签名证书和自定义 HTTPS 服务器

c - 无法使用 openssl 解密包含空字符 (\x00) 的加密字符串