macOS Mojave 中的 SSL 随机失败(SSL_ERROR_SYSCALL)

macOS Mojave 中的 SSL 随机失败(SSL_ERROR_SYSCALL)

在运行 Mojave(10.14.3 - 但自从我升级到 Mojave 后出现错误)的 Apple Mac 上,当我尝试在命令行上使用 CURL 进行连接时,我经常(但随机)收到 SSL 错误,例如:

curl -vvvvv https://bbc.co.uk
* Rebuilt URL to: https://bbc.co.uk/
*   Trying 151.101.192.81...
* TCP_NODELAY set
* Connected to bbc.co.uk (127.0.0.1) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /usr/local/etc/openssl/cert.pem
  CApath: /usr/local/etc/openssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bbc.co.uk:443
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bbc.co.uk:443

任何 https 调用都会发生相同的错误

curl https://google.co.uk
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.co.uk:443

重启总能解决这个问题,但并不总是很方便。有人遇到过这个问题并修复了吗?

然后(显然)会停止 brew 命令和 git 等操作

我尝试运行:

security verify-cert -L -c /etc/ssl/cert.pem
Cert Verify Result: CSSMERR_TP_CERT_EXPIRED

运行时:

security verify-cert -L -c /usr/local/etc/openssl/cert.pem
...certificate verification successful.

于是搬走/etc/ssl/cert.pem并尝试将其符号链接起来/usr/local/etc/openssl/cert.pem,但仍然没有成功。

其他一些信息:

openssl version
OpenSSL 1.0.2p  14 Aug 2018
which openssl
/usr/local/opt/openssl/bin/openssl

我也尝试过:

networksetup -setv6off Wi-Fi

使用 wget:

wget https://google.co.uk
--2019-03-26 10:35:10--  https://google.co.uk/
Resolving google.co.uk... 216.58.201.35
Connecting to google.co.uk|216.58.201.35|:443... connected.
Unable to establish SSL connection.

但这也没有区别。网页浏览正常,因此 https 可以顺利通过网络。

其他注意事项:我安装了卡巴斯基互联网安全软件 (KIS)(无法打开首选项,可能是因为它无法在后台执行某种 SSL 调用)KIS 配置为不扫描 https 连接(或任何设置)。我还运行 MAMP,当 php 脚本尝试与外部服务器通信(API 调用等)时,它们都无法连接,大概是由于同一个 openssl 错误?

我猜测某些网络服务需要重新启动,但我更像是 Ubuntu 系统管理员而不是 MacOS,所以不知道这些命令。

帮助??!?? :-)

编辑: 我注意到了这一行:

* Connected to bbc.co.uk (127.0.0.1) port 443 (#0)

上面的情况显然很奇怪,因为它不应该尝试连接到本地主机,所以我凭直觉杀死了 KIS,然后它就开始工作了!!!(我尝试禁用安全性,但没有什么区别)快乐的日子!

但是现在,如果我尝试重新启动 KIS,它将无法正常启动(只是在框中间显示“正在启动...”消息)。所以我可能会删除 KIS 并寻找替代方案。:-(

答案1

尝试按照上述评论的建议关闭卡巴斯基。或者您可以尝试按照卡巴斯基论坛上的指南禁用 SSL 拦截。

  1. 打开卡巴斯基安全软件

  2. 设置->附加->网络->不扫描加密连接。

  3. 重启

答案2

类似情况,macbook pro,卡巴斯基互联网安全软件出现问题。该过程完成后,一切正常。

相关内容