Se for um novo sistema, seu banco de dados de certificados pode não ser inicializado. Para corrigir isso, execute:
mkdir -p $HOME/.pki/nssdb
certutil -d $HOME/.pki/nssdb -N
quando estou usando certutil
, ele retorna este erro: certutil: function failed: security library: bad database.
por exemplo. Eu não posso listar certs ou chaves
Como posso corrigir isso?
Se você deseja exibir certificações de uma pasta específica (por exemplo, a pasta que armazena o arquivo cert8.db
do Firefox), é necessário especificar a pasta com "-d":
nss-certutil -d /Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default -L
Caso contrário, nss-certutil
pode tentar ler arquivos * .db da pasta ~/.netscape
, ou talvez $HOME/.pki/nssdb
como mencionado anteriormente pelo usuário.
No caso de o banco de dados já ter sido inicializado, mas ainda estar corrompido, ele deve ser reconstruído:
$ mv ~/.pki/nssdb ~/.pki/nssdb.corrupted
$ mkdir ~/.pki/nssdb
$ chmod 700 ~/.pki/nssdb
$ certutil -d sql:$HOME/.pki/nssdb -N
Verifique se está funcionando bem
$ certutil -d sql:$HOME/.pki/nssdb -L
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Certificado de importação
$ certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n GoAgent -i ~/programs/goagent/local/CA.crt
Verifique também se o caminho do diretório -d
(deve apontar para o diretório) tem algum espaço ou não. Com espaço dá o mesmo erro ou erro de formato de arquivo ruim - formato de banco de dados antigo, etc. Especialmente no Mac, a pasta está em "Application Support"
, que contém espaço. Então, tenha o caminho totalmente citado:
"/Users/myuser/Library/Application Support/Firefox/Profiles/jii912uh.default"
ou adicione o caractere \ escape.
/Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default
E verifique se a pasta tem os seguintes arquivos, cert8.db, key3.db and secmob.db.
No meu caso, resolvi o problema usando essa solução (Windows XP, nss 3.15.1):
cd /dir/with/database
C:/full/path/to/certutil.exe -L -d .