pkcs11

pkcs11 API 允许扩展枚举 PKCS #11 安全模块,并将它们作为密钥和证书的来源提供给浏览器。

要使用此 API,你需要预先取得“pkcs11”权限

使用 Firefox 首选项对话框安装 PKCS #11 模块

执行以下步骤:

  1. 将 PKCS #11 模块保存到本地计算机的永久位置

  2. 选择工具 > 选项或选择 Firefox 菜单,然后选择选项

  3. 一旦打开选项页面,选择隐私与安全

  4. 在页面底部,单击或点击证书下的安全设备… 安全模块和设备

  5. 单击或点击加载按钮 加载 PKCS#11 设备驱动程序

  6. 为安全模块输入名称,例如“我的客户数据库

    警告: 谨慎使用国际字符,因为 Firefox 中目前存在一个国际字符可能会导致问题的 bug。

  7. 选择浏览…以查找本地计算机上 PKCS #11 模块的位置,然后单击或点击确定以确认。

提供 PKCS #11 模块

备注: 自 Firefox 58 起,扩展可以使用此 API 枚举 PKCS #11 模块,并将其作为密钥和证书的来源提供给浏览器。

使用此 API 有两个环境上的前提条件:

  • 用户的计算机上必须安装一个或多个 PKCS #11 模块
  • 对于每个安装的 PKCS #11 模块,都必须有一个本机清单文件与之对应,保证浏览器能够成功找到该模块。

大多数情况下,用户或设备管理员会安装 PKCS #11 模块,而模块的安装程序则会同时安装本机清单文件。

但是,模块和清单不能作为扩展自身安装过程的一部分安装。

有关清单文件的内容和位置的详细信息,请参阅本机清单

函数

pkcs11.getModuleSlots()

获取模块中每个 Slot(插槽)的名称以及它是否包含令牌。

pkcs11.installModule()

安装指定的 PKCS #11 模块。

pkcs11.isModuleInstalled()

检查指定的 PKCS #11 模块是否已安装。

pkcs11.uninstallModule()

卸载指定的 PKCS #11 模块。

浏览器兼容性

BCD tables only load in the browser