1
我想了解如何在FF中的可信證書存儲區中添加證書。到目前爲止,我找不到明確的答案,但做一些研究,我明白它應該可以通過Firefox擴展來實現。這可能是一個暗示:Firefox estensions:以編程方式將證書添加到信任證書存儲區
有誰知道如何與FF的現代版本做到這一點?有什麼最佳實踐嗎?
預先感謝, 斯特凡諾
我想了解如何在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