python - 如何在没有证书的情况下验证 HashiCorp Vault?
问题描述
下面是我的代码:
import hvac
client = hvac.Client(
url='https://vault-abc.net',token='s.d0AGS4FE3o6UxUpVTQ0h0RRd',verify='False'
)
print(client.is_authenticated())
输出错误:
在 cert_verify 中引发 IOError("找不到合适的 TLS CA 证书包," OSError: 找不到合适的 TLS CA 证书包,路径无效:False
我只有令牌和 URL 从客户端登录控制台,没有共享证书!在其他 java 应用程序代码中不使用任何证书身份验证工作,但在 hvac 模块或 CURL 或保险库 CLI 下的 python 代码中期望证书通过。我有什么办法可以处理这个并修复上述错误?
我们有任何证书检查跳过选项吗?
议程是使用 python 程序进行身份验证并获取保险库机密,而无需使用令牌和保险库 URL 获取任何证书。
解决方案
您可以禁用证书检查,但对于像 Vault 这样的东西,这通常是个坏主意(禁用安全服务上的安全检查)。
无论如何,您的问题很简单:您将'False'
(字符串)传递给应该传递False
(布尔值)作为verify
参数的地方。
传递字符串会导致库在该路径中查找证书;由于路径上没有证书,因此'False'
您会看到所看到的错误。
推荐阅读
- c# - 从 API 读取列表
- python - 为什么 pandas 会自动将我的 csv 中的所有表连接到两列?
- biztalk - 在编排接收形状中按 BTS.ReceiveLocationName 过滤
- mysql - SSL 证书上的 Google 云 (GCP) SQL 限制
- php - Symfony 序列化程序忽略序列化组
- r - 是否有一种简单的方法可以在 R 的 igraph 中按度数对网络节点进行着色?
- angularjs - 为什么 AngularJS $resources 不能在我的机器上解析?
- sql - 在 SQL Server 2019 中编写对目标对象进行更改查询的脚本
- linux - linux如何检测网络的协议?
- vuejs2 - Nuxt 通用应用程序。服务器端的 Vuex 存储在请求之间缓存,而与用户的机器无关