Failure while calling nsIX509CertDB.nsIX509CertDB from command line

我是研究僧i 提交于 2019-12-25 05:07:05

问题


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);
}

回答1:


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.



来源:https://stackoverflow.com/questions/10613562/failure-while-calling-nsix509certdb-nsix509certdb-from-command-line

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!