sslerror(sslerror(sslerror("bad handshake: error([('ssl routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),),)
时间: 2023-06-05 13:47:32 浏览: 177
b'sslerror(sslerror(sslerror("bad handshake: error([(\'ssl routines\', \'ssl3_get_server_certificate\', \'certificate verify failed\')],)",),),)' 是一个Python程序中的错误消息,意为 SSL 握手失败,证书验证未通过。
相关问题
OpenSSL SSL_read: error:14094413:SSL routines:ssl3_read_bytes:sslv3 alert unsupported certificate, errno 0
这个错误信息是由OpenSSL库提供的,它表示在底层SSL实现中发生了错误,这个错误是在基于底层网络连接的高级加密和认证层中出现的问题。具体来说,这个错误代码"14094413"表示"ssl3_read_bytes"函数在处理SSLv3警报时遇到了不支持的证书。这个错误的errno为0,表示没有其他错误信息可用。\[1\]
需要注意的是,这个错误信息中提到了一个已经被弃用的函数"ssl.RAND_pseudo_bytes()",在Python 3.6版本之后,应该使用"ssl.RAND_bytes()"来代替。\[2\]
如果你想在Python中测试SSL支持的存在,可以使用以下代码片段:
```python
try:
import ssl
except ImportError:
pass
else:
# 需要SSL支持的操作
...
```
这段代码会尝试导入ssl模块,如果导入失败则说明没有SSL支持,否则可以进行需要SSL支持的操作。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [python库中的ssl.py](https://blog.csdn.net/qiuchangyong/article/details/104974686)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
git clone SSL routines:SSL23_get_SERVER_HELLO:unknown protocol
当您看到错误信息 "git clone SSL routines:SSL23_get_SERVER_HELLO:unknown protocol",这通常表示在通过HTTPS克隆Git仓库时遇到了SSL连接问题。此错误发生在尝试使用较旧版本的Git(可能支持的是SSLv2或SSLv3协议),而服务器拒绝对这些过时的协议提供服务。
具体来说,SSL23_get_SERVER_HELLO这个错误意味着服务器发送的握手消息(Server Hello)使用的不是Git客户端能理解的SSL版本。解决这个问题需要更新您的Git到最新版,因为大多数现代服务器已经禁用了对SSL 2.0和3.0的支持,转而采用更安全的TLS(Transport Layer Security)协议。
以下是几个步骤帮助您解决问题:
1. **升级Git**:检查您的Git版本,如果低于1.8.2,建议更新到最新稳定版,比如运行 `git --version` 确定当前版本,然后访问官方文档下载并安装新版本。
2. **设置SSL/TLS选项**:确保您的系统全局配置允许使用更安全的TLS版本,例如,在Linux上可以编辑`~/.gitconfig`文件添加:
```
[http]
sslbackend = openssl
sslverify = true
```
或者在命令行使用 `git config http.sslbackend openssl` 和 `git config http.sslVerify true`。
3. **使用SSH替代HTTPS**:如果以上方法无效,尝试使用SSH链接代替HTTPS,即使用 `git clone user@host:/path/to/repo.git`。
阅读全文