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 -L
itu tidak akan menghasilkan kesalahan itu. Tetapi jika saya hanya menjalankannya certutil -L
akan 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: -8018
dan 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.crt
Ini tidak harus dijalankan sebagai root, bukan?
Jika Anda ingin menampilkan sertifikasi dari folder tertentu (misalnya, folder yang menyimpan cert8.db
file untuk Firefox), Anda perlu menentukan folder dengan "-d":
nss-certutil -d /Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default -L
Jika tidak, nss-certutil
coba baca file * .db dari ~/.netscape
folder, atau mungkin $HOME/.pki/nssdb
seperti yang disebutkan pengguna sebelumnya.
Juga periksa -d
jalur 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-password
peralihan ke akhircertutil
perintah.