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

python检测keycloak证书连接报错问题

最近一直被keycloak的证书问题困扰了很久,老是提示ssl安全连接,由于不会java,只好硬着头皮用python测试。 我这里的证书是自己签注的证书,导入系统的是CA根证书。

from keycloak import KeycloakOpenID

# 1. 配置 Keycloak 客户端
keycloak_openid = KeycloakOpenID(
    server_url="https://127.0.0.1:8433/auth/",
    client_id="api-cli",
    realm_name="xxxxxxxxx",
    client_secret_key="xxxxxxxxxxx",  # 如果需要 client_secret_key
    verify=True  # 设置为 False 如果你不想验证 SSL(开发环境)
)

# 2. 使用用户名和密码进行身份验证(获取 Token)
token = keycloak_openid.token("aaa", "123456")

# 3. 使用访问 Token 获取用户信息
userinfo = keycloak_openid.userinfo(token['access_token'])

# 打印用户信息
print(userinfo)

这个是正确的登陆
在这里插入图片描述

错误的提示

keycloak.exceptions.KeycloakConnectionError: Can’t connect to server (HTTPSConnectionPool(host=‘101.33.xxx.xxx’, port=8433): Max retries exceeded with url: /auth/realms/bbt/protocol/openid-connect/token (Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)’))))

解决上面的错误有好几种办法,代码解决也行,我直接使用了系统导入证书解决。

将自定义证书添加到系统信任的 CA 库

你也可以将自签名的 CA 证书添加到系统的信任 CA 列表,这样可以全局解决 SSL 证书验证失败的问题。

在 Linux 系统上,可以将自签名证书放到 /usr/local/share/ca-certificates/ 目录下,并更新 CA 列表:

sudo cp your-ca-cert.pem /usr/local/share/ca-certificates/
sudo update-ca-certificates

在 Linux 系统中,如果执行 update-ca-certificates 后发现 /usr/local/share/ca-certificates/ 中的证书没有被加载,将 .pem 文件转换为 .crt 文件:

sudo cp your-ca-cert.pem /usr/local/share/ca-certificates/your-ca-cert.crt
sudo chmod 644 /usr/local/share/ca-certificates/your-ca-cert.crt
sudo update-ca-certificates

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/312176.html

相关文章:

  • 回归分析学习
  • 关于sass在Vue3中编写bem框架报错以及警告问题记录
  • SpringBoot(七)使用mapper注解编写sql操作数据库
  • 【go从零单排】Mutexes互斥锁
  • 【go从零单排】Rate Limiting限流
  • 【智谱开放平台-注册/登录安全分析报告】
  • 基于多域名,通过云运营商弹性负载,Nginx配置等基于的多租户系统部署
  • 有没有通过倾斜摄影文件直接导出DSM/DOM的文件软件?
  • npm发布插件超级简单版
  • django分发路由
  • alias 后门从入门到应急响应
  • 百度移动刷下拉词工具:快速出下拉词的技术分析
  • 肥胖成因:饮食之外,消耗吸收慢是关键因素
  • git gc
  • Java面试篇基础部分-线程的基本方法
  • 蓝桥杯-STM32G431RBT6(解决LCD与LED引脚冲突的问题)
  • 大数据时代:历史、发展与未来
  • 王道408考研数据结构-绪论
  • linux-软件包管理-软件源配置
  • Centos 7 搭建Samba
  • 初识Linux · 环境变量
  • VSCode开发ros程序无法智能提示的解决方法(二)
  • 亲测openEuler 22.03 LTS 安装MySQL 5.7和注意事项
  • Spring 源码解读:实现自定义注解处理器
  • Linux文件IO(二)-文件操作使用详解
  • 论文解读《COMMA: Co-articulated Multi-Modal Learning》