我正在尝试通过 MSI 安装应用程序将 PKCS#11 模块安装到 Mozilla Firefox 中。在互联网上进行一些搜索后,我偶然发现了 modutil
工具,该工具具有多种职责,特别是在我的例子中,用于将 PKCS#11 模块安装/卸载到 NSS 安全数据库。我下载了 modutil
的最新源代码并使用 MozillaBuild 构建了它。
此外,我编写了一个 C 代码,使用 secmod_addnewmodule
将模块添加到数据库,该代码返回“-1”作为错误。
以下是我添加模块的代码,其中 configdir
是 secmoddb 数据库
的路径。
int rv = NSS_Initialize(configdir, "", "", SECMOD_DB, NSS_INIT_FORCEOPEN );
hr = SECMOD_AddNewModule("test","D:\\Pkcs\\PKCS11_VSC.dll",internalMechanismFlags,internalEnableFlags);
有谁知道我如何克服这个问题,以及使用这个实用程序是否有任何看不见的方面。另外,是否有一种解决方案可以通过一个通用流程为所有用户配置文件安装/卸载 pkcs#11 模块。最后,是否有更好的解决方案来使用我的设置完成安装任务。我正在使用 WiX Toolset
创建 MSI 设置
最佳答案
如果 NSS_Initialize 无法打开 secmod 数据库,我们无法将该模块添加到数据库。 nss 库自动采用添加数据库所需的默认标志。 secmod _deletemodule 删除添加到数据库的模块。
关于c - 无法将 pkcs#11 模块添加到 secmod 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32042981/