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の実装)が含まれる可能性があります。次に、メソッドを任意の方法で実装できます。nsICertificateDialogsgetPKCS12FilePassword

より簡単なアプローチは、NSSに含まれているpk12utilツールを使用することです。もちろん、これが本当にxpcshellを介して行われる必要がない限り。

于 2012-05-16T18:33:05.017 に答える