web-dev-qa-db-fra.com

Certutil: Fonction a échoué: Bibliothèque de sécurité: Bad Base de données

quand j'utilise certutil il renvoie cette erreur: certutil: function failed: security library: bad database.

par exemple. Je ne peux pas répertorier certs ou clés

Comment puis-je réparer cela?

10
Zim3r

Dans le cas de la base de données a déjà été initialisé, mais est toujours corrompu, il doit être reconstruit:

$ mv ~/.pki/nssdb ~/.pki/nssdb.corrupted
$ mkdir ~/.pki/nssdb
$ chmod 700 ~/.pki/nssdb
$ certutil -d sql:$HOME/.pki/nssdb -N

Vérifiez si vous travaillez 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
3
Mattijn

Si vous souhaitez afficher des certifications à partir 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

Autrement, nss-certutil peut essayer de lire * fichiers .db de ~/.netscape Dossier, ou peut-être $HOME/.pki/nssdb comme l'utilisateur précédent mentionné.

2
user151182

Vérifiez également le -d Chemin du répertoire (doit pointer sur le répertoire) avoir un espace ou non. Avec l'espace, il donne la même erreur d'erreur ou d'erreur de format de fichier mauvais - Old Base de base de données, etc. Spécialement dans Mac, le dossier est en "Application Support" qui contient de l'espace. Alors avez-vous le chemin entièrement cité:

"/Users/myuser/Library/Application Support/Firefox/Profiles/jii912uh.default"

ou ajoutez le caractère\échappement.

 /Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default

Et vérifiez que le dossier dispose des fichiers suivants, cert8.db, key3.db and secmob.db.

1
karim