GmSSL-Python icon indicating copy to clipboard operation
GmSSL-Python copied to clipboard

GmSSL-3.1.1-win64安装包DLL文件疑似不完整

Open cn010 opened this issue 1 year ago • 1 comments

安装GmSSL-3.1.1-win64安装包,在其目录bin下仅有gmssl.dll一个动态链接库文件,使用gmssl-pytrhon,导入gmssl时,报错:FileNotFoundError: Could not find module…… 安装路径/gmssl.dll。一直以为是gmssl.dll或者python调用dll机制出了问题,后查询python的ctypes文档,才意识到是gmssl.dll依赖的其他dll文件确实导致。后使用第三方基于GmSSL-3.1.1编译的windows动态链接库(其目录下包含gmssl.dll、sdf_dummy.dll、skf_dummy.dll)才解决问题。建议修复该问题,若是GmSSL-3.1.1-win64安装包不支持直接使用,建议显著说明。

cn010 avatar Dec 08 '24 13:12 cn010

✅ DLL 依赖不完整的问题已彻底解决

你好!感谢详细的问题分析!你提到的 sdf_dummy.dllskf_dummy.dll 缺失问题已经在 PR #26 中彻底解决: https://github.com/GmSSL/GmSSL-Python/pull/26

🔧 你的问题分析非常准确

正如你所说,官方 GmSSL-3.1.1-win64 安装包确实存在问题:

  • ❌ 只包含 gmssl.dll
  • ❌ 缺少 sdf_dummy.dllskf_dummy.dll
  • ❌ 导致 Python 加载失败

✨ PR #26 的完整解决方案

无需手动寻找第三方编译版本,直接使用官方修复:

pip install https://github.com/ferstar/GmSSL-Python/releases/download/v2.2.2/gmssl_python-2.2.2-py3-none-any.whl

完整打包的内容:

  • gmssl.dll - 主库文件
  • ✅ 所有必需的依赖 DLL(包括你提到的 sdf_dummy.dll 等)
  • ✅ 多平台支持:Linux (x86_64/ARM64), macOS (Universal), Windows (x86_64)

📦 彻底的解决方案

PR #26 采用了预编译库打包的方式:

  1. 在 CI 中自动编译所有平台的 GmSSL 库
  2. 将完整的库文件打包到 Python wheel 中
  3. 用户安装后无需任何额外配置

🎯 你的建议已实现

你建议的两个方案:

  • 方案 1:修复官方包 → PR #26 提供了完整的解决方案
  • 方案 2:明确文档说明 → PR #26 中包含详细的跨平台支持文档

下载链接:https://github.com/ferstar/GmSSL-Python/releases/tag/v2.2.2

感谢你的详细分析,这对改进项目非常有帮助!

欢迎测试反馈!

ferstar avatar Oct 18 '25 08:10 ferstar