Ответы:
Если это новая система, база данных сертификатов может быть не инициализирована. Чтобы это исправить, выполните:
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
команды.