2016-10-01 111 views
1

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

我一直在使用Firefox扩展,而不是附加组件,因为在2017年会弃用附加组件,但此项目将在此之前完成。

我试图找到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" 
    } 

我缺少必要的权限来访问证书?是否有更好的方法来获取证书信息?

回答

0

链接到的wiki页面是指addon sdk中可用的API和引导式扩展。这种清单表明你正在编写一个更有限的webextensions

+0

谢谢!我将开始使用FireFox插件。 – user3341646