当前位置: 首页 > news >正文

OpenSSL 无法验证 DevSidecar 的自签名证书

执行 openssl verify /usr/local/share/ca-certificates/dev-sidecar.ca.crt 报错

CN = DevSidecar - This certificate is generated locally, C = CN, ST = GuangDong, L = ShenZhen, O = dev-sidecar, OU = https://github.com/docmirror/dev-sidecar
error 18 at 0 depth lookup: self-signed certificate
error /usr/local/share/ca-certificates/dev-sidecar.ca.crt: verification failed

这个错误表明 OpenSSL 无法验证 DevSidecar 的自签名证书,因为它是自签名的(self-signed),默认不受系统信任。以下是解决方案:

1. 配置 Python 直接信任该证书

在 Python 代码中指定证书路径:

import os
os.environ['REQUESTS_CA_BUNDLE'] = '/usr/local/share/ca-certificates/dev-sidecar.ca.crt'# 然后再加载模型
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')

2 手动将该证书添加到受信任的根证书(推荐)

步骤:
将证书复制到 CA 存储目录:

sudo cp /usr/local/share/ca-certificates/dev-sidecar.ca.crt /usr/share/ca-certificates/

生成证书哈希链接:

sudo openssl x509 -hash -noout -in /usr/share/ca-certificates/dev-sidecar.ca.crt

这会输出一个哈希值(如 a1b2c3d4)。

创建符号链接:

sudo ln -s /usr/share/ca-certificates/dev-sidecar.ca.crt /etc/ssl/certs/a1b2c3d4.0

(将 a1b2c3d4 替换为实际哈希值)

更新证书存储:

sudo update-ca-certificates

验证是否生效:

openssl verify /usr/share/ca-certificates/dev-sidecar.ca.crt

现在应该输出 OK。

关键点

自签名证书需要 手动添加到受信任列表,否则默认会报 self-signed certificate 错误。

推荐使用 方法 1 全局信任该证书,而非禁用 SSL 验证(不安全)。

完成后,WSL Ubuntu 的 Python 应能正常通过 DevSidecar 代理访问网络。

http://www.xdnf.cn/news/976825.html

相关文章:

  • 【数据结构】图论最短路圣器:Floyd算法如何用双矩阵征服负权图?
  • Go 协程(Goroutine)入门与基础使用
  • Go 的 fs 包(1/2):现代文件系统抽象
  • 零基础玩转物联网-串口转以太网模块如何快速实现与HTTP服务器通信
  • Solidity从入门到精通-函数及数据存储和作用域
  • 用 IRify 深入探索 WebShell 中的 Source/Sink 挖掘
  • AWS CloudFormation实战:构建可复用的ECS服务部署模板
  • AWS之混合云
  • 2025年渗透测试面试题总结-长亭科技[社招]应急响应工程师(题目+回答)
  • Roboguide工作站机器人重新安装软件包
  • 顶顶通电话机器人功能列表
  • 【前端面试】八、工程化
  • 如何顺利将电话号码转移到新iPhone?
  • 如何将文件从 iPhone 传输到闪存驱动器
  • App UI 设计中色彩搭配如何激发用户的深层情感
  • 算法第13天|继续学习二叉树:平衡二叉树(递归)、二叉树所有路径(递归)、左叶子之和(递归)
  • 基于 WebWorker 的 WebAssembly 图像处理吞吐量分析
  • Vue 事件绑定机制详解
  • 通过知识整合重新审视医学图像检索|文献速递-深度学习医疗AI最新文献
  • 基于uniapp实现自定义日历页面、年份月份选择、动态日历渲染、日期标记及备忘录、无组件依赖、多端兼容
  • 微信小程序中wxs
  • 增强现实—Where am I? Cross-View Geo-localization with Natural Language Descriptions
  • 记录rust滥用lazy_static导致的一个bug
  • Android 应用被kill问题排查和处理
  • 【DeepSeek×Draw.io 轻松构建UML】智能协作,高效建模
  • UE5 学习系列(八)材质基础认知
  • WPP 媒体推出基于人工智能的工具突破基于身份识别的定向模式
  • Idea 2025 commit 关闭侧边栏 开启探框
  • web程序设计期末复习-填空题
  • SLAM3R:基于单目视频的实时密集3D场景重建