Firefox estensions:以编程方式将证书添加到信任证书存储区
问题描述:
我想了解如何在FF中的可信证书存储区中添加证书。到目前为止,我找不到明确的答案,但做一些研究,我明白它应该可以通过Firefox扩展来实现。这可能是一个暗示:Firefox estensions:以编程方式将证书添加到信任证书存储区
有谁知道如何与FF的现代版本做到这一点?有什么最佳实践吗?
预先感谢, 斯特凡诺
答
只是回答我的问题......经过一些额外的研究,我设法做到这一点,我相信是在文章中还是比较准确的。你不一定需要构建一个XPCOM。
我刚刚创建了一个简单的添加与下面的代码:
function addCertificate() {
var certDB = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
var is = Cc["@mozilla.org/scriptableinputstream;1"].getService(Ci.nsIScriptableInputStream);
var file = new FileUtils.File("/tmp/famfor.crt");
var channel = gIOService.newChannelFromURI(gIOService.newFileURI(file));
var input = channel.open();
is.init(input);
var envelope = is.read(input.available());
is.close();
input.close();
var beginCert = "-----BEGIN CERTIFICATE-----";
var endCert = "-----END CERTIFICATE-----";
envelope = envelope.replace(/[\r\n]/g, "");
var begin = envelope.indexOf(beginCert);
var end = envelope.indexOf(endCert);
var cert = envelope.substring(begin + beginCert.length, end);
console.log(cert);
certDB.addCertFromBase64(cert, "C,C,C", "");
};
很简单,我会说:)
非常感谢分享,你想通了。我有兴趣看到这个解决方案! '/ tmp/famfor.crt'的内容是什么? – Noitidart 2014-11-03 15:54:26
这是你想在firefox的certdb中添加的证书(从文件中取出来试试) – Ste 2014-11-04 08:05:53