openssl error:0A000126:SSL routines:ssl3_read_n:unexpected eof

os: ubuntu22.04

openssl s_client -showcerts -connect github.com:443 返回出错,导致wget curl https网站都不成功。

key error info:

40079A1F82130000:error:0A000126:SSL routines:ssl3_read_n:unexpected eof while reading:ssl/record/rec

我电脑上遇到这个问题的解决办法:彻底重新安装openssl

以下是解决步骤:

1. 卸载 OpenSSL

首先,卸载当前安装的 OpenSSL 版本:

bash

sudo apt-get remove --purge openssl

2. 清理相关依赖和配置文件

清理未使用的依赖包和配置文件:

bash

sudo apt-get autoremove

sudo apt-get autoclean

3. 更新软件包列表

确保软件包列表是最新的:

bash

sudo apt-get update

4. 重新安装 OpenSSL

重新安装 OpenSSL:

bash

sudo apt-get install openssl

5. 验证安装

检查 OpenSSL 是否已正确安装:

bash

openssl version

6. 验证 OpenSSL 的工作状态

验证 OpenSSL 是否可以正常工作,例如,通过连接到一个 HTTPS 网站:

bash

openssl s_client -connect github.com:443

这个错误信息"OpenSSL: error:0A000086:SSL routines::certificate verify failed:"通常出现在使用OpenSSL库进行SSL/TLS连接时,证书验证失败的情况下。这个错误可能由多种原因引起,以下是一些常见的原因和解决方法: 1. 系统时间不正确: 解决方法:确保系统时间是准确的,可以与网络时间服务器同步。 2. 根证书缺失或过期: 解决方法:更新系统的根证书库,确保包含了最新的根证书。 3. 服务器证书过期或无效: 解决方法:检查服务器证书的有效期和签名,确保证书是有效的。 4. 中间证书缺失: 解决方法:确保服务器配置了完整的中间证书链。 5. 主机名不匹配: 解决方法:验证证书中的域名与实际访问的域名是否一致。 6. SNI(服务器名称指示)配置问题: 解决方法:确保客户端正确设置了SNI,特别是在使用虚拟主机的情况下。 7. 客户端或服务器配置问题: 解决方法:检查OpenSSL配置,确保正确设置了受信任的证书颁发机构。 8. 防火墙或中间人攻击: 解决方法:确保没有防火墙或中间设备在拦截和修改SSL流量。 要解决这个问题,可以尝试以下步骤: 1. 更新系统根证书库 2. 检查服务器证书的有效性 3. 验证客户端和服务器的OpenSSL配置 4. 使用OpenSSL命令行工具进行详细诊断 例如,可以使用以下命令来测试SSL连接: ``` openssl s_client -connect example.com:443 -showcerts ``` 这个命令会显示详细的SSL握手过程和证书信息,有助于进一步诊断问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youcharming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值