Firefox附加组件PKCS#11 API

问题描述 投票:2回答:2

我想通过Firefox插件访问当前连接的加密模块。

我发现某些接口看起来可以访问模块,插槽和令牌(1234),但是我如何访问存储在其上的证书的公钥这样的令牌?

甚至插件也可以使用这样的API吗?

javascript firefox-addon firefox-addon-sdk pkcs#11
2个回答
0
投票

nsIX509CertDB.idl提供了访问所有存储证书的方法,因此也提供了通过加密模块访问的证书。使用tokenName属性过滤证书应该可以。

以下是枚举所有证书的代码段:

var certDB = chrome.Cc["@mozilla.org/security/x509certdb;1"].getService(chrome.Ci.nsIX509CertDB);

var certs = certDB.getCerts();

var enumerator = certs.getEnumerator();

var s = "";
while (enumerator.hasMoreElements()) {
  var cert = enumerator.getNext().QueryInterface(chrome.Ci.nsIX509Cert);

  if (cert.tokenName.equals("Your-token-name"))   
  s += cert.tokenName + " # ";
}

可以通过使用以下模块名称来找到令牌的名称:nsIPKCS11ModuleDB.listModules()nsIPKCS11Module.listSlots()nsIPKCS11Slot.getToken()nsIPK11Token.tokenName


0
投票

@@ Jogi和@Nick Russler,

我正在寻找客户端api与我的硬件令牌进行交互以进行身份​​验证。我能够在preference-privacy&security-securitydevice下的firefox中加载PKCS#11模块。但是,以上javascript无法运行,并且显示错误“未定义参考变量chrome”。我可以要求给出一些工作示例,以通过firefox下的pkcs#11模块访问浏览器中加载的证书的公钥和私钥。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.