Réponses:
S'il s'agit d'un nouveau système, votre base de données de certificats peut ne pas être initialisée. Pour résoudre ce problème, effectuez:
mkdir -p $HOME/.pki/nssdb
certutil -d $HOME/.pki/nssdb -N
certutil -d sql:$HOME/.pki/nssdb -L
cela n'entraînerait pas cette erreur. Mais si je courais, certutil -L
cela montrerait cette erreur. Est-ce à dire que la base de données n'est pas corrompue, mais il y a une incompatibilité ou certutil attend-il le mauvais répertoire?
Dans le cas où la base de données a déjà été initialisée, mais est toujours corrompue, elle doit être reconstruite:
$ mv ~/.pki/nssdb ~/.pki/nssdb.corrupted
$ mkdir ~/.pki/nssdb
$ chmod 700 ~/.pki/nssdb
$ certutil -d sql:$HOME/.pki/nssdb -N
Vérifiez si cela fonctionne bien
$ certutil -d sql:$HOME/.pki/nssdb -L
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Certificat d'importation
$ 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
et aucun moyen de résoudre ce problème avec élégance. La reconstruction de la base de données l'a résolu pour moi! Merci beaucoup :)
certutil: function failed: SEC_ERROR_BAD_DATABASE: security library: bad database.
Ma commande d'importation est certutil -d sql:$HOME/.pki/nssb -A -t "CT,C,C" -n sophos -i ~/Downloads/sophos_cert.crt
Cela ne devrait pas avoir à être exécuté en tant que root, n'est-ce pas?
Si vous souhaitez afficher les certifications d'un dossier spécifique (par exemple, le dossier qui stocke le cert8.db
fichier pour Firefox), vous devez spécifier le dossier avec "-d":
nss-certutil -d /Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default -L
Sinon, nss-certutil
essayez de lire les fichiers * .db à partir du ~/.netscape
dossier, ou peut-être $HOME/.pki/nssdb
comme l'utilisateur précédent l'a mentionné.
Vérifiez également que le -d
chemin du répertoire (doit pointer vers le répertoire) a de l'espace ou non. Avec de l'espace, il donne la même erreur ou une mauvaise erreur de format de fichier - ancien format de base de données, etc. Particulièrement sous Mac, le dossier "Application Support"
contient de l'espace. Ayez donc le chemin entièrement cité:
"/Users/myuser/Library/Application Support/Firefox/Profiles/jii912uh.default"
ou ajoutez le caractère \ escape.
/Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default
Et vérifiez que le dossier contient les fichiers suivants, cert8.db, key3.db and secmob.db.
--empty-password
commutateur à la fin de lacertutil
commande.