Ошибка при вызове nsIX509CertDB.nsIX509CertDB из командной строки
Я пытаюсь разработать расширение FF, которое вызывает nsIX509CertDB.nsIX509CertDB. При вызове этой функции из оболочки xpcs я всегда получаю сообщение об ошибке 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);
}
1 ответ
Решение
Скорее всего, это будет связано с написанием кода для замены @mozilla.org/nsCertificateDialogs;1
компонент (реализация nsICertificateDialogs
интерфейс). Тогда вы могли бы реализовать getPKCS12FilePassword
метод, как вам нравится.
Более простой подход будет использовать pk12util
инструмент включен в NSS. Если, конечно, это не нужно делать через xpcshell.