Назад | Перейти на главную страницу

certutil: сбой функции: библиотека безопасности: неверная база данных

когда я использую certutil он возвращает эту ошибку: certutil: function failed: security library: bad database.

например Я не могу перечислить сертификаты или ключи

Как я могу это исправить?

Если это новая система, возможно, ваша база данных сертификатов не инициализирована. Чтобы исправить это, выполните:

mkdir -p $HOME/.pki/nssdb
certutil -d $HOME/.pki/nssdb -N

Если база данных уже была инициализирована, но все еще повреждена, ее необходимо перестроить:

$ 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

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

В моем случае я решил проблему с помощью этого решения (Windows XP, nss 3.15.1):

cd /dir/with/database
C:/full/path/to/certutil.exe -L -d .