语境:
我正在按照开源项目 OpenSC https://github.com/OpenSC/OpenSC的指南在 Windows 上编译解决方案并获取 opensc-pkcs11.dll 模块以将其用于与 HSM 的通信(例如 OpenSSH) PKCS#11 标准。目前我正在使用最新的稳定版本 0.21.0(msi 安装程序),它运行良好。但是,当我使用https://github.com/OpenSC/OpenSC/wiki/Compiling-on-Windows指南使用 Visual Studio 开发人员命令提示符编译解决方案时,我可以成功构建库,但是 opensc-pkcs11.dll 始终返回 pkcs11 :0x5:CKR_GENERAL_ERROR 当我尝试使用它时,我不确定我在这里缺少什么。
设置:
- git 克隆https://github.com/OpenSC/OpenSC.git
- git checkout 30180986a08cf71fe4af4b50251a8bb5b1ab95af (0.21.0 提交正确版本)
- 手动创建构建的源文件
- nmake /f Makefile.mak
使用 VS 2019 的 x64 本机工具命令提示符为 x64 构建它。
这应该是根据指南,因为据我所知,我不需要 openpace/openssl/zlib 来编译 opensc-pkcs11。
问题总结:
- 如果我从版本https://github.com/OpenSC/OpenSC/releases版本 OpenSC-0.21.0 下载,编译后的 opensc-pkcs11.dll 按预期工作
- 如果我从基于 v0.21.0 提交的源代码编译它,我得到 0x5: CKR_GENERAL_ERROR 尝试将库用于例如 OpenSSH 时,测试其他/以前的提交也会发生这种情况,因为我怀疑我在这里遗漏了一些东西.
有没有人遇到过同样的问题?也许有一些任何人都可以分享的构建配置,所以我可以理解我在这里缺少什么?