Ответы:
Если это новая система, база данных сертификатов может быть не инициализирована. Чтобы это исправить, выполните:
mkdir -p $HOME/.pki/nssdb
certutil -d $HOME/.pki/nssdb -N
certutil -d sql:$HOME/.pki/nssdb -Lэто не приведет к этой ошибке. Но если я просто запустите, certutil -Lэто покажет эту ошибку. Означает ли это, что база данных не повреждена, но есть некоторая несовместимость или certutil ожидает неправильный каталог?
Если база данных уже инициализирована, но все еще повреждена, ее необходимо перестроить:
$ mv ~/.pki/nssdb ~/.pki/nssdb.corrupted
$ mkdir ~/.pki/nssdb
$ chmod 700 ~/.pki/nssdb
$ certutil -d sql:$HOME/.pki/nssdb -N
Проверьте, хорошо ли работает
$ certutil -d sql:$HOME/.pki/nssdb -L
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Импортный сертификат
$ certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n GoAgent -i ~/programs/goagent/local/CA.crt
[5284:5310:0306/110217:ERROR:nss_util.cc(750)] After loading Root Certs, loaded==false: NSS error code: -8018и никак не мог решить это изящно. Восстановление БД решило это для меня! Спасибо большое :)
certutil: function failed: SEC_ERROR_BAD_DATABASE: security library: bad database.Моя команда импорта: certutil -d sql:$HOME/.pki/nssb -A -t "CT,C,C" -n sophos -i ~/Downloads/sophos_cert.crtЭто не должно запускаться от имени пользователя root, не так ли?
Если вы хотите отображать сертификаты из определенной папки (например, из папки, в которой хранится cert8.dbфайл для Firefox), вам необходимо указать папку с помощью «-d»:
nss-certutil -d /Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default -L
В противном случае, nss-certutilможет попытаться прочитать файлы * .db из ~/.netscapeпапки, или, $HOME/.pki/nssdbкак упоминалось ранее.
Также проверьте -dпуть к каталогу (должен указывать на каталог), есть ли пробел или нет. С пробелом он выдает ту же ошибку или ошибку неверного формата файла - старый формат базы данных и т. Д. Особенно в Mac папка, в "Application Support"которой содержится место. Итак, путь полностью указан:
"/Users/myuser/Library/Application Support/Firefox/Profiles/jii912uh.default"
или добавьте символ \ escape.
/Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default
И убедитесь, что в папке есть следующие файлы, cert8.db, key3.db and secmob.db.
--empty-passwordпереключатель в конецcertutilкоманды.