环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5

症状

python应用系统访问瀚高安全版4.5.5失败,提示“authentication method 13 not supported”的错误。

问题原因

python系统原来访问的是postgresql,使用的是开源的libpq.so.5文件,不支持sm3的密码认证算法。

解决方案

客户的python安装在docker容器中,经过以下操作后,发现了libpq文件的所在目录。

①执行find / -name _psycopg命令

发现/usr/local/lib/python3.7/dist-packages/psycopg2/_psycopg.cpython-37m-aarch64-linux-gnu.so文件,该文件用于访问数据库。

②执行ldd _psycopg.cpython-37m-aarch64-linux-gnu.so

发现该so文件引用了libpq.so.5文件,目录是/usr/lib/aarch64-linux-gnu。

③用瀚高库lib目录下的libpq.so.5文件替换了上面目录的对应文件,同时把软链接引用的libpq.so.5.12文件复制到了上面目录中。

以上操作之后,客户的应用程序可以访问瀚高安全版4.5.5了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐