문제

I'm trying to develop a FF extension that calls nsIX509CertDB.nsIX509CertDB. When calling this function from a xpcshell I alwas receive a error 0x80004005 (NS_ERROR_FAILURE). I suspect it to be failing since in a xpcshell environment I can not be prompted for the password. Is there any way to provide it from the command line?

My code:

if(nsIFile != null && nsIFile.exists()) {
        var certDB = Cc["@mozilla.org/security/x509certdb;1"]
                                        .getService(Ci.nsIX509CertDB);
        certDB.importPKCS12File(null, nsIFile);
}
도움이 되었습니까?

해결책

This would most likely involve writing code to replace @mozilla.org/nsCertificateDialogs;1 component (implementing nsICertificateDialogs interface). Then you could implement getPKCS12FilePassword method any way you like.

The simpler approach would be using pk12util tool included in NSS. Unless this really needs to be done via xpcshell of course.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top