在Firefox扩展中读取SSL证书

时间:2016-10-01 17:23:20

标签: firefox firefox-addon ssl-certificate

我正在开发一个Firefox扩展,它会向用户显示SSL证书信息。实际信息与浏览器内置的信息相同,但我将尝试用户体验的布局和其他信息。

由于2017年对附加组件的弃用,我一直在使用Firefox扩展而不是添加,但此项目将在此之前完成。

我正在尝试找到here的示例,但扩展似乎停在require("chrome")上。

接下来,我尝试编写更简单的代码来确定示例的工作原理,但此代码没有附加到请求的通道。我的代码减去了所有类型的打印语句,如下所示:

document.getElementById("click_button").addEventListener("click",
  function(e) {
    var url = "https://secure-website-example.google.com";
    xhr = new XMLHttpRequest();
    xhr.open("GET", url, true);
    xhr.addEventListener("error",
      function(e) {
        dumpSecurityInfo(xhr, -1);
     }, false);

    xhr.onload = function(e) {
      dumpSecurityInfo(xhr);
    };
    xhr.send();
  });

function dumpSecurityInfo(xhr, error) {
  var channel = xhr.channel;
  try {
    console.log("Connection status:");
    if (!error) {  console.log("Succeeded"); }
    else        {  console.log("Failed :("); }

    var securityInfo = channel.securityInfo;
  } catch(err) {
    alert(err);
  }
}

带有这样的清单:

  "manifest_version": 2,
  "name": "Certificate Browser",
  "version": "1.0",
  ...

  "permissions": [
    "activeTab",
    "webRequest",
    "https://secure-website-example.google.com/*"
  ],

  "browser_action": {
    ...
    "default_popup": "popup/certificate_information.html"
  }

我是否遗漏了访问证书所需的任何权限?是否有更好的方法来获取证书信息?

1 个答案:

答案 0 :(得分:0)

您链接到的Wiki页面是指addon sdk和自举扩展程序中提供的API。这种清单表明你正在编写一个更加有限的webextensions