How to migrate saved credentials from SQLite to JSON?
I think this issue came up when the Debian repositories switched from IceWeasel to actual Firefox ESR. Around this time, Firefox stopped recalling saved passwords and asking to save new passwords. The list in Preferences still contained my credentials.
I consulted this page: http://kb.mozillazine.org/Password_Manager#Troubleshooting
I tried to import the credentials from SQLite using the registry key/restart process in the article, and that didn't work (the registry key was set on restart, but the credential list in Preferences was empty).
Next I tried to export to JSON using the Browser Console code in the article. The output was an empty JSON array.
How to get the Firefox gods to smile upon my migration?
Modified by jakobcornell
Additional System Details
OpenH264 Video Codec provided by Cisco Systems, Inc. (disabled) Skype Buttons for Kopete Google Talk Plugin Google Talk Plugin Video Renderer IcedTea-Web Plugin (using IcedTea-Web 1.5.3 (1.5.3-1))
- User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
Do you have a signons.sqlite file?
Firefox can still import this file in the Password Manager if you remove the logins.json file and reset signon.importedFromSqlite via the right-click context menu to the default value.
You can open the about:config page via the location/address bar. You can accept the warning and click "I'll be careful" to continue.
Oh, right. No, there's no 'signons.sqlite' in my profile, which I'm guessing is because I've been using a KDE Wallet integration add-on (https://addons.mozilla.org/en-US/firefox/addon/kde-wallet-password-integratio).
I assume Firefox was previously pulling my credentials from KDE's store, and the update broke this interoperability. The developer of the add-on has dropped off the face of the earth, so there'll be no getting help there.
I do have a 'key3.db' file and access to the plaintext username/password pairs through KDE Wallet. With these two things is there a way to produce the encrypted credentials needed to populate 'logins.json'? I think I came across a python program to do that while I was researching for this issue but I can't remember where it was.