无法将 pkcs#11 模块添加到 secmod 数据库

Failing to add pkcs#11 module to secmod database

我正在尝试通过 MSI 安装应用程序将 PKCS#11 模块安装到 Mozilla Firefox 中。通过 Internet 进行一些搜索后,我遇到了 modutil 工具,该工具具有多种职责,尤其是在我的情况下,用于将 PKCS#11 模块安装/卸载到 NSS 安全数据库。我下载了 modutil 的最新源代码并使用 MozillaBuild 构建它。

此外,我编写了一个 C 代码以使用 secmod_addnewmodule 将模块添加到数据库,其中 returns “-1” 作为错误。

以下是我添加模块的代码,其中 configdirsecmoddb database 的路径。

int rv = NSS_Initialize(configdir, "", "", SECMOD_DB, NSS_INIT_FORCEOPEN );
hr = SECMOD_AddNewModule("test","D:\Pkcs\PKCS11_VSC.dll",internalMechanismFlags,internalEnableFlags);

有谁知道我可以如何解决这个问题,使用这个实用程序是否有任何看不见的方面。此外,是否有针对具有一个通用进程的所有用户配置文件的 install/uninstall pkcs#11 模块的解决方案。最后,是否有更好的解决方案来使用我的设置完成安装任务。我正在使用 WiX Toolset 创建 MSI 设置

如果 NSS_Initialize 无法打开 secmod 数据库,我们无法将模块添加到数据库中。 nss 库自动采用添加数据库所需的默认标志。 secmod _deletemodule 删除添加到数据库的模块。