Respuestas:
Si es un sistema nuevo, es posible que su base de datos de certificados no se inicialice. Para solucionar esto, realice:
mkdir -p $HOME/.pki/nssdb
certutil -d $HOME/.pki/nssdb -N
certutil -d sql:$HOME/.pki/nssdb -Lno daría lugar a ese error. Pero si solo corro certutil -L, mostraría ese error. ¿Eso significa que la base de datos no está dañada, pero hay alguna incompatibilidad o certutil espera el directorio incorrecto?
En caso de que la base de datos ya se haya inicializado, pero todavía esté dañada, debe reconstruirse:
$ mv ~/.pki/nssdb ~/.pki/nssdb.corrupted
$ mkdir ~/.pki/nssdb
$ chmod 700 ~/.pki/nssdb
$ certutil -d sql:$HOME/.pki/nssdb -N
Compruebe si funciona bien
$ certutil -d sql:$HOME/.pki/nssdb -L
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Certificado de importación
$ 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: -8018y no hay forma de resolver esto con gracia. ¡Reconstruir el DB lo resolvió para mí! Muchas gracias :)
certutil: function failed: SEC_ERROR_BAD_DATABASE: security library: bad database.mi comando de importación es certutil -d sql:$HOME/.pki/nssb -A -t "CT,C,C" -n sophos -i ~/Downloads/sophos_cert.crtEsto no debería ejecutarse como root, ¿verdad?
Si desea mostrar certificaciones de una carpeta específica (por ejemplo, la carpeta que almacena el cert8.dbarchivo para Firefox), debe especificar la carpeta con "-d":
nss-certutil -d /Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default -L
De lo contrario, nss-certutilpuede intentar leer archivos * .db de la ~/.netscapecarpeta, o tal vez $HOME/.pki/nssdbcomo mencionó el usuario anterior.
Compruebe también que la -druta del directorio (debe apuntar al directorio) tiene espacio o no. Con espacio, da el mismo error o error de formato de archivo incorrecto: formato de base de datos antiguo, etc. Especialmente en Mac, la carpeta "Application Support"contiene espacio. Entonces, tenga el camino completamente citado:
"/Users/myuser/Library/Application Support/Firefox/Profiles/jii912uh.default"
o agregue el carácter \ escape.
/Users/myuser/Library/Application\ Support/Firefox/Profiles/jii912uh.default
Y verifique que la carpeta tenga los siguientes archivos, cert8.db, key3.db and secmob.db.
--empty-passwordinterruptor al final delcertutilcomando.