2016-06-21 8 views
0

ich auf CentOS arbeitete, und ich habe 3.19.1 NSSHinzufügen neues Client-Zertifikat auf NSS db

Ich versuche, ein Client-Zertifikat mit privatem RSA-Schlüssel für die NSS-Datenbank hinzuzufügen.

Im Inneren /etc/pki/nssdb arbeiten und es hat den Inhalt:

cert8.db 
cert9.db 
key3.db 
key4.db 
pkcs11.txt 
secmod.db 

Ich kenne die cert8, key3 und secmod sind die alten Formate für die db.

Aber was auch immer Befehl ich laufe ich entweder erhalten:

SEC_ERROR_BAD_DATABASE 

oder

SEC_ERROR_LEGACY_DATABASE 

Ich dachte, ich hatte die aktualisierte Datenbank mit den cert9, key4 und pkcs11 Dateien.

Kann jemand mit diesem Problem helfen?

Antwort

0
  1. Wenn ein secmod.db keine Module enthalten ist, tritt die SEC_ERROR_LEGACY_DATABASE auch. Es ist sehr schwierig, weil die Fehlermeldung nichts mit der wahren Ursache zu tun hat. Ich sehe es als einen Fehler.

Fügen Sie also zuerst ein Modul zu secmod.db hinzu.

modutil -add "some name" -libfile some_so_file_to_load -dbdir "/the/dir/where/the/secmod/is/located/" -secmod secmod.db 

-dbdir nimmt ein Verzeichnis als einen geeigneten Wert. Gehen Sie nicht tiefer zur Datei selbst.

  1. Wenn dies ebenfalls fehlschlägt, überprüfen Sie Ihre Berechtigung für die Datei secmod.db. In meinem Fall scheitert es, weil ich keine Schreibberechtigung habe. Ein als root ein chown kann es beheben.

dies Also, versuchen Sie:

sudo -s 
chown your_user_name /the/secmod/dir/secmod.db 
  1. Dann versuchen Sie das Modul hinzufügen und eine modutil -list laufen zu überprüfen, ob es hinzugefügt wird.

  2. Endlich, fügen Sie Ihr Zertifikat hinzu. Es wird klappen. Die Erweiterung der db-Datei hat nichts zu tun.

Verwandte Themen