Jawaban:
Jika ini adalah sistem baru, basis data sertifikat Anda mungkin tidak diinisialisasi. Untuk memperbaiki ini, lakukan:
mkdir -p $HOME/.pki/nssdb
certutil -d $HOME/.pki/nssdb -N
certutil -d sql:$HOME/.pki/nssdb -Litu tidak akan menghasilkan kesalahan itu. Tetapi jika saya hanya menjalankannya certutil -Lakan menunjukkan kesalahan itu. Apakah itu berarti database tidak rusak, tetapi ada beberapa yang tidak kompatibel atau apakah certutil mengharapkan direktori yang salah?
Jika database sudah diinisialisasi, tetapi masih rusak maka harus dibangun kembali:
$ mv ~/.pki/nssdb ~/.pki/nssdb.corrupted
$ mkdir ~/.pki/nssdb
$ chmod 700 ~/.pki/nssdb
$ certutil -d sql:$HOME/.pki/nssdb -N
Periksa apakah berfungsi dengan baik
$ certutil -d sql:$HOME/.pki/nssdb -L
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Sertifikat impor
$ 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: -8018dan tidak ada cara untuk menyelesaikan ini dengan anggun. Membangun kembali DB telah menyelesaikannya untuk saya! Terima kasih banyak :)
certutil: function failed: SEC_ERROR_BAD_DATABASE: security library: bad database.Perintah impor saya adalah certutil -d sql:$HOME/.pki/nssb -A -t "CT,C,C" -n sophos -i ~/Downloads/sophos_cert.crtIni tidak harus dijalankan sebagai root, bukan?
Jika Anda ingin menampilkan sertifikasi dari folder tertentu (misalnya, folder yang menyimpan cert8.dbfile untuk Firefox), Anda perlu menentukan folder dengan "-d":
nss-certutil -d /Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default -L
Jika tidak, nss-certutilcoba baca file * .db dari ~/.netscapefolder, atau mungkin $HOME/.pki/nssdbseperti yang disebutkan pengguna sebelumnya.
Juga periksa -djalur direktori (harus menunjuk ke direktori) apakah ada ruang atau tidak. Dengan spasi ini memberikan kesalahan yang sama atau kesalahan format file yang buruk - format database lama dll. Khususnya di Mac folder "Application Support"yang berisi ruang. Jadi mintalah path sepenuhnya dikutip:
"/Users/myuser/Library/Application Support/Firefox/Profiles/jii912uh.default"
atau tambahkan karakter \ escape.
/Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default
Dan periksa apakah folder tersebut memiliki file berikut, cert8.db, key3.db and secmob.db.
--empty-passwordperalihan ke akhircertutilperintah.