在 Windows 上编译 OpenSC

问题描述

上下文:

我正在按照开源项目 OpenSC https://github.com/OpenSC/OpenSC 的指南在 Windows 上编译解决方案并获取 opensc-pkcs11.dll 模块以将其用于通过 PKCS#11 与 HSM 进行通信(例如 OpenSSH)标准。目前我正在使用最新的稳定版本 0.21.0(msi 安装程序),它运行良好。但是,当我使用 https://github.com/OpenSC/OpenSC/wiki/Compiling-on-Windows 指南使用 Visual Studio 开发人员命令提示符编译解决方案时,我可以成功构建库,但是当我尝试使用它时,opensc-pkcs11.dll 总是返回 pkcs11: 0x5: CKR_GENERAL_ERROR 而我不是确定我在这里错过了什么。

设置:

  1. git clone https://github.com/OpenSC/OpenSC.git
  2. git checkout 30180986a08cf71fe4af4b50251a8bb5b1ab95af(正确版本为 0.21.0 提交)
  3. 手动创建构建的源文件
  4. nmake /f Makefile.mak

使用适用于 VS 2019 的 x64 本机工具命令提示符为 x64 构建它。

根据指南应该是这样,因为据我所知,我不需要 openpace/openssl/zlib 来编译 opensc-pkcs11。

问题总结:

  1. 如果我从版本 https://github.com/OpenSC/OpenSC/releases 版本 OpenSC-0.21.0 下载,编译后的 opensc-pkcs11.dll 会按预期工作
  2. 如果我从基于 v0.21.0 提交的源代码编译它,我会在尝试使用该库时得到 0x5: CKR_GENERAL_ERROR 例如OpenSSH,测试其他/以前的提交也会发生这种情况,因为我怀疑我在这里遗漏了一些东西。

有人遇到过同样的问题吗?也许有人可以分享一些构建配置,以便我了解我在这里缺少什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)