그냥 그것을 할 관리 몇 가지 추가 조사 후 ... 내 자신의 질문에 대답하기 위해 나는 어떤 기사에서이다 것은 매우 정확하다 생각합니다. 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", "");
};
당신이 그것을 알아 냈 그 공유 :
출처
2014-11-02 09:20:37
Ste
감사합니다 아주 많이 말을 아주 간단합니다. 나는이 해결책을 보는 것에 흥미가 있었다! '/ tmp/famfor.crt'의 내용은 무엇입니까? – Noitidart
파이어 폭스의 certdb에 추가하려는 인증서입니다 (파일에서 가져 와서 사용하기 만하면됩니다) – Ste