X
Tap here to go to the mobile version of the site.

Support Forum

Migrate site and master passwords and logins from Firefox to Light

Posted

In order to speed up my USB portable browser, I want to migrate from Firefox v.30 to Light v.30. Only now I noticed I still have key3.db instead of key4.db and cert8.db instead of cert9.db in Firefox profile. https://support.mozilla.org/en-US/kb/Recovering%20important%20data%20from%20an%20old%20profile#w_your-important-data-and-their-files doesn't specify how to upgrade those versions, nor some other replies, for example https://support.mozilla.org/en-US/questions/767061.

Copying of key3.db, signons.sqlite between profiles didn't help to get my passwords nor my master password in Light. Any thoughts why? Because I have key3.db instead of key4.db or because I use master password?

In order to speed up my USB portable browser, I want to migrate from Firefox v.30 to Light v.30. Only now I noticed I still have key3.db instead of key4.db and cert8.db instead of cert9.db in Firefox profile. https://support.mozilla.org/en-US/kb/Recovering%20important%20data%20from%20an%20old%20profile#w_your-important-data-and-their-files doesn't specify how to upgrade those versions, nor some other replies, for example https://support.mozilla.org/en-US/questions/767061. Copying of key3.db, signons.sqlite between profiles didn't help to get my passwords nor my master password in Light. Any thoughts why? Because I have key3.db instead of key4.db or because I use master password?

Chosen solution

Note that you can use a CMD or BAT file to set an environment variable temporarily for only that start.

set NSS_DEFAULT_DB_TYPE=sql start "" "path to Firefox\firefox.exe" -P

I notice that the SQLite files are considerably larger because Firefox likely uses an minimum size to prevent issues with fragmentation like is done with all SQLite files.

Note that Firefox is actually dropping a lot of SQLite files and replace them with JSON type files (extensions.json, addons.json, search.json, logins.json) to prevent issues that SQLite gives in some cases and make it easier to keep the database in memory to boost the performance.

Read this answer in context 1

Additional System Details

Installed Plug-ins

  • Shockwave Flash 14.0 r0
  • Next Generation Java Plug-in 10.55.2 for Mozilla browsers
  • 5.1.30214.0
  • IE Tab 2 Plug-in for Mozilla/Firefox
  • GEPlugin

Application

  • User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0

More Information

Question owner

I received a reply that current Firefox versions still use signons.sqlite and key3.db to store the names and passwords and cert8.db for the certificates. Only Firefox 32 and later will use logins.json instead of signons.sqlite. Well, obviously Light is using them already.

I received a reply that current Firefox versions still use signons.sqlite and key3.db to store the names and passwords and cert8.db for the certificates. Only Firefox 32 and later will use logins.json instead of signons.sqlite. Well, obviously Light is using them already.
cor-el
  • Top 10 Contributor
  • Moderator
15222 solutions 138066 answers

I would assume that Light still uses the signons.sqlite and key3.db files and will probably pick up a Firefox profile automatically unless you would have created a new profile and use the -P "profile" command line switch to start with this profile.

You can use this button to go to the currently used Firefox profile folder:

  • Help > Troubleshooting Information > Profile Directory: Show Folder (Linux: Open Directory; Mac: Show in Finder)
I would assume that Light still uses the signons.sqlite and key3.db files and will probably pick up a Firefox profile automatically unless you would have created a new profile and use the -P "profile" command line switch to start with this profile. You can use this button to go to the currently used Firefox profile folder: *Help > Troubleshooting Information > Profile Directory: Show Folder (Linux: Open Directory; Mac: Show in Finder)

Question owner

I received this reply which explains the issue:

Light use sql as nss database, so the files are key4.db and cert9.db rather than key3.db and cert8.db. Light don't support migration from key3.db to key4.db, but firefox do have the ability. you need set environment variable NSS_DEFAULT_DB_TYPE to value "sql", then open firefox. the migration is automatic. you will find key4.db in the profile folder.

As for logins.json, light has the ability of automatic migration. But you may need delete the logins.json file before copying the key4.db and signons.sqite files.

I received this reply which explains the issue: Light use sql as nss database, so the files are key4.db and cert9.db rather than key3.db and cert8.db. Light don't support migration from key3.db to key4.db, but firefox do have the ability. you need set environment variable NSS_DEFAULT_DB_TYPE to value "sql", then open firefox. the migration is automatic. you will find key4.db in the profile folder. As for logins.json, light has the ability of automatic migration. But you may need delete the logins.json file before copying the key4.db and signons.sqite files.
cor-el
  • Top 10 Contributor
  • Moderator
15222 solutions 138066 answers

Helpful Reply

Were you able to fix it with these directions?

I see that one disadvantage of the Light version is that they also removed the spell checker.

Were you able to fix it with these directions? I see that one disadvantage of the Light version is that they also removed the spell checker. *http://www.ghacks.net/2014/01/04/light-slimmed-firefox-third-party-build-optimized-performance/

Question owner

I'm looking for a way to set environment variable NSS_DEFAULT_DB_TYPE in my Portable Firefox.

I'm looking for a way to set environment variable NSS_DEFAULT_DB_TYPE in my Portable Firefox.

Question owner

Environment variable NSS_DEFAULT_DB_TYPE is Windows environment variable. After setting it, Firefox 30 created key4.db and cert9.db. In the end, I wasn't able to fix the transfer. Even if I deleted the logins.json file in Light profile before copying the key4.db and signons.sqite files from Firefox profile, I didn't get new logins.json and saved passwords didn't appear.

Environment variable NSS_DEFAULT_DB_TYPE is Windows environment variable. After setting it, Firefox 30 created key4.db and cert9.db. In the end, I wasn't able to fix the transfer. Even if I deleted the logins.json file in Light profile before copying the key4.db and signons.sqite files from Firefox profile, I didn't get new logins.json and saved passwords didn't appear.

Question owner

After resetting signon.importedFromSqlite in about:config in Light 31, I got my passwords. Firefox 30 still doesn't have this.

After resetting signon.importedFromSqlite in about:config in Light 31, I got my passwords. Firefox 30 still doesn't have this.
cor-el
  • Top 10 Contributor
  • Moderator
15222 solutions 138066 answers

Chosen Solution

Note that you can use a CMD or BAT file to set an environment variable temporarily for only that start.

set NSS_DEFAULT_DB_TYPE=sql start "" "path to Firefox\firefox.exe" -P

I notice that the SQLite files are considerably larger because Firefox likely uses an minimum size to prevent issues with fragmentation like is done with all SQLite files.

Note that Firefox is actually dropping a lot of SQLite files and replace them with JSON type files (extensions.json, addons.json, search.json, logins.json) to prevent issues that SQLite gives in some cases and make it easier to keep the database in memory to boost the performance.

Note that you can use a CMD or BAT file to set an environment variable temporarily for only that start. set NSS_DEFAULT_DB_TYPE=sql start "" "path to Firefox\firefox.exe" -P I notice that the SQLite files are considerably larger because Firefox likely uses an minimum size to prevent issues with fragmentation like is done with all SQLite files. Note that Firefox is actually dropping a lot of SQLite files and replace them with JSON type files (extensions.json, addons.json, search.json, logins.json) to prevent issues that SQLite gives in some cases and make it easier to keep the database in memory to boost the performance.

Modified by cor-el