0

我正在尝试开发一个调用 nsIX509CertDB.nsIX509CertDB 的 FF 扩展。从 xpcshell 调用此函数时,我总是收到错误 0x80004005 (NS_ERROR_FAILURE)。我怀疑它失败了,因为在 xpcshell 环境中无法提示我输入密码。有没有办法从命令行提供它?

我的代码:

if(nsIFile != null && nsIFile.exists()) {
        var certDB = Cc["@mozilla.org/security/x509certdb;1"]
                                        .getService(Ci.nsIX509CertDB);
        certDB.importPKCS12File(null, nsIFile);
}
4

1 回答 1

1

这很可能涉及编写代码来替换@mozilla.org/nsCertificateDialogs;1组件(实现nsICertificateDialogs接口)。然后你可以以getPKCS12FilePassword任何你喜欢的方式实现方法。

更简单的方法是使用NSS 中包含的pk12util工具。当然,除非这确实需要通过 xpcshell 来完成。

于 2012-05-16T18:33:05.017 回答