NSS Shared DB Howto: Difference between revisions

some polisihing
(initial version)
 
(some polisihing)
Line 12: Line 12:
On Linux/Unix/OSX based systems you should be able to simply replace old NSS libraries with newer ones.
On Linux/Unix/OSX based systems you should be able to simply replace old NSS libraries with newer ones.


On Microsoft Windows operating systems this might not work. For example, Thunderbird 2 and Firefox 3 link against different versions of the C runtime libraries and use different memory allocation libraries. Trying to use Thunderbird 2 with the NSS libraries that come as part of Firefox 3 is not advised and will result in random crashes.
On Microsoft Windows operating systems this might not work. For example, Thunderbird 2 and Firefox 3 link against different versions of the C runtime libraries and use different memory allocation libraries. Trying to use Thunderbird 2 with the NSS libraries that come as part of Firefox 3 is not advised and will likely result in random crashes.




Line 27: Line 27:
   setenv NSS_DEFAULT_DB_TYPE "sql"  
   setenv NSS_DEFAULT_DB_TYPE "sql"  


Then logout and log back into your OS session.
* Logout and log back into your OS session
Now open a terminal.
* Open a terminal


   cd ~/.thunderbird/yourprofile
   cd ~/.thunderbird/yourprofile
   ls *.db
   ls *.db
This directory should contain key3.db and cert8.db files, but no key4.db and no cert9.db files
 
This directory should contain key3.db and cert8.db files, but no key4.db and no cert9.db files.


   mkdir backup-db
   mkdir backup-db
   cp *.db backup-db
   cp *.db backup-db


start thunderbird
The following series of commands will convert your existing database to a newer format.
access security features, e.g. open cert manager
 
wait while your certificate database gets converted (stalling UI)
* Start thunderbird
quit thunderbird
* Access security features, e.g. open cert manager. If you have a master password set, make sure you are prompted, it's required for the conversion.
* Wait while your certificate database gets converted (the UI might stall for a couple of moments)
* Quit thunderbird


   ls *.db
   ls *.db


now you should have files key4.db and cert9.db
Now you should have files key4.db and cert9.db


   cd ~/.mozilla/firefox/yourprofile
   cd ~/.mozilla/firefox/yourprofile
   ls *.db
   ls *.db
This directory should contain key3.db and cert8.db files, but no key4.db and no cert9.db files
 
This directory should contain key3.db and cert8.db files, but no key4.db and no cert9.db files.


   mkdir backup-db
   mkdir backup-db
   cp *.db backup-db
   cp *.db backup-db


start firefox
The following series of commands will convert your existing database to a newer format.
access security features, e.g. open cert manager
 
wait while your certificate database gets converted (stalling UI)
* Start firefox
quit firefox
* Access security features, e.g. open cert manager. If you have a master password set, make sure you are prompted, it's required for the conversion.
* Wait while your certificate database gets converted (the UI might stall for a couple of moments)
* Quit firefox


   ls *.db
   ls *.db


now you should have files key4.db and cert9.db
Now you should have files key4.db and cert9.db


(still in firefox directory)
Now let's create a shared location in a separate directory. We'll move the files from the Firefox profile over to the shared location. We'll create symbolic links in order to enable NSS to find the files.


   mkdir ~/nssdb
   mkdir ~/nssdb
Line 68: Line 74:
   ln -s ~/nssdb/key4.db .
   ln -s ~/nssdb/key4.db .
   ln -s ~/nssdb/cert9.db .
   ln -s ~/nssdb/cert9.db .
Now we'll issue the certutil command that merges your Thunderbird certificate database into the shared database.


   cd ~/.thunderbird/yourprofile
   cd ~/.thunderbird/yourprofile
   certutil --merge -d ~/nssdb --source-dir .
   certutil --merge -d ~/nssdb --source-dir .


enter passwords as required
You must enter passwords as required. Wait until the merge completes.
wait until data gets merged


   rm key4.db cert9.db
   rm key4.db cert9.db
Line 79: Line 86:
   ln -s ~/nssdb/cert9.db .
   ln -s ~/nssdb/cert9.db .


all done, start firefox and thunderbird as you wish, enjoy the shared db feature
That's it. Start Firefox and Thunderbird as you wish, enjoy the shared db feature. But remember, you must always have the environment variable set, or the applications will use your old non-merged db.
but remember, you must always have the environment variable enabled, or the applications will use your old non-merged db
 
You may repeat the merge and symlink steps for additional profiles.


you may repeat the merge and symlink steps for additional profiles
Please note that the shared database access is slower than the old one. It can be very slow when your files are stored on a remote file system, such as NFS. You should find a solution to have your files on your local system.
Confirmed users
563

edits