password-exporter
password-exporter copied to clipboard
incompatible with Firefox 57
This addon is not compatible with Firefox 57 (which requires WebExtension support). Are there plans to port it over to WebExtensions, or will it die when Firefox57 is released in November?
There isn't a WebExtensions API to access stored passwords yet. There's a proposal that is currently undergoing security review, but I don't know when that will happen. I'm sure it won't make 57, but hopefully it will be picked up again shortly after 57.
Firefox in the beta channel just disabled all legacy add-ons. For those in the Beta channel, it's already happening...
i hope this gets working again. i have my passwords stored in case if my PC dies an i forget my passwords.
No this wont work, i have 4 ad ons i rely on heavily and they all have been uninstalled with out authorization. . Y don't they WARN us they are about to disrupt our personal lives. Where is the previous version of firefox, it is still compatible the plugs. I seriously need to reinstall that one now. Anybody know where the link is for v56? The one that worked!
lol calm down, it's been known since 2 years that XUL add-ons are deprecated. Firefox 56 even showed "LEGACY" for old add-ons. Meanwhile, you can save passwords with this: http://www.nirsoft.net/utils/passwordfox.html (if you have 64 bit make sure you choose the right Firefox folder).
If you really need legacy add-ons DO NOT install Firefox 56 - it's a security risk! Instead, install Firefox 52 ESR, which is still supported until April or May 2018: https://www.mozilla.org/en-US/firefox/organizations/all/ Note that downgrading Firefox can lead to unwanted side effects so backup your profile!
If you need to export all your passwords, you can use
git clone https://github.com/lclevy/firepwd
cd firepwd
Then copy both logins.json and key3.db to the current firepwd directory
To find the 2 mentioned files easily, type in the url bar about:support, then look at Profile Directory and click on Open Containing Folder.
After the copy, do the following:
python2.7 firepwd.py -d ./ -p yourpassword | sed 's/\\x0[0-9]//g'
Notes:
- I have more than one version of python on my OS, so I use
python2.7as the script is working for Python 2.7. You may usepythoninstead. - I had to use a pipe with
sedat the end to avoid getting output for each line similar to:
https://www.myfirstservice.com: '[email protected]\x08\x08\x08\x08\x08\x08\x08\x08' , 'MYFIRSTPASSWORD\x07\x07\x07\x07\x07\x07\x07'
- A pdf within the cloned repository explained well all the process to decrypt password in Firefox context
I didn't investigate how to do the opposite operation, e.g insert/copy into logins.json.
After python2.7 firepwd.py -d ./ -p yourpassword | sed 's/\x0[0-9]//g' comes the error: password check error, Master Password is certainly used, please provide it with -p option I use Linux Mint 18.2 mate. With python2.7 firepwd.py -d ./ | sed 's/\x0[0-9]//g' > file.txt it works and it write the output to file.txt. How i can export the output to a csv file respectively a format which i can import to Firefox?
If you use a master password (one password to rule them all) like in my case, you need to use -p yourcomplexpassword. Otherwise, it seems it failed. In this case, your approach without -p is right.
The output is nearly already a CSV, you just need to replace in some cases, leading space(s) at the beginning of each line, the : with a , and ' should be removed (last advice valid only if your passwords don't use single quotes).
After, it's just about using tools like sed, hawk, csvkit (for command line) or using search & replace of your favorite text editor.
Cool thx. Why you dont create a addon for Firefox? ^^
Doesn't seem to work for me:
$ python2.7 firepwd.py -d ./ | sed 's/\\x0[0-9]//g'
Traceback (most recent call last):
File "firepwd.py", line 243, in <module>
SEQUENCE {
SEQUENCE {
OBJECTIDENTIFIER 1.2.840.113549.1.12.5.1.3
SEQUENCE {
OCTETSTRING 73bec4d3db19594059e1865f0d51767c
INTEGER 01
}
}
OCTETSTRING bde7a6bcb7b3fc92e54045a5e8b6b892bc7a4447a883c4c0746190ca135d391aa9f50ef15e2af74bd4860fc27690fd47fe6b755be025de0cef2ed0fe1a75da7461eb436b0089146c7289982fb0449274f1e93c374cbc66ac397f6e235f52e602
}
decrypting privKeyData
SEQUENCE {
INTEGER 00
SEQUENCE {
OBJECTIDENTIFIER 1.2.840.113549.1.1.1
NULL 0
}
OCTETSTRING 3042020100021100f800000000000000000000000000000102010002181c265ef2ae23df4cc7fde5dc9e3bbad0024c1a8c1613e3e5020100020100020100020100020115
}
decoding 3042020100021100f800000000000000000000000000000102010002181c265ef2ae23df4cc7fde5dc9e3bbad0024c1a8c1613e3e5020100020100020100020100020115
SEQUENCE {
INTEGER 00
INTEGER 00f8000000000000000000000000000001
INTEGER 00
INTEGER 1c265ef2ae23df4cc7fde5dc9e3bbad0024c1a8c1613e3e5
INTEGER 00
INTEGER 00
INTEGER 00
INTEGER 00
INTEGER 15
}
logins = getLoginData()
File "firepwd.py", line 171, in getLoginData
logins.append( (decodeLoginData(encUsername), decodeLoginData(encPassword), row['hostname']) )
File "firepwd.py", line 153, in decodeLoginData
asn1data = decoder.decode(b64decode(data)) #first base64 decoding, then ASN1DERdecode
File "/usr/lib/python2.7/site-packages/pyasn1/codec/ber/decoder.py", line 784, in __call__
'%d-octet short' % (length - len(substrate))
pyasn1.error.SubstrateUnderrunError: 94-octet short
Here's what I used to produce a CSV similar to Chrome's password exports:
python2.7 firepwd.py -d ./ -p yourpassword | sed 's/\\x0[0-9]//g' | sed -r -e "s|^ *https://([^:]+): '([^']+)' , '([^']+)'\$|\1,https://\1,\2,\3|"
P.S. It won't work if a username or password contains an apostrophe (') or a comma (,).
your example works ony if protocol is https on standard port. this sed works with all protocol and ports
"s|^ *([^:]+)://(.*?): '([^']*)' , '([^']*)'\$|\2,\1://\2,\3,\4|"
Since many users now asking for how to convert there passwords to an CSV I provide a shellscript I wrote as Pullrequest .. https://github.com/lclevy/firepwd/pull/2
The sooner this extension is updated the better! It's been awesome for years and hopefully continues to be, then I'll be very api... Lol c what I did there ;-)
Cheers!
@ThomasG77
I have the following error
Traceback (most recent call last):
File "firepwd.py", line 15, in
How I can get and install the missing module ?
@Cezanna Just look at the code https://github.com/lclevy/firepwd/blob/master/firepwd.py#L14 to see that required module is pyasn1. So do, pip install pyasn1. If you have more issue with package installation, go to http://docs.python-guide.org/en/latest/dev/virtualenvs/ to learn more
- The version of python on macos X seems to be to old to install pip as indicatd on https://pip.pypa.io/en/stable/installing/ and it discourages to install on python depending on OS
- Once installed pyasn1 from github and running python setup.pi install I have always the same error
Hello,
I moved from Firefox 56 to Quantum and I wrote a python script to convert that XML:
- From Firefox 56.x I exported my password in plain text using
password-exporter - I converted the XML to a CSV suitable for keepassxc + its extension keepassxc-browser .
The script can be customized to whatever CSV format it is needed.
Note: For those interested in keepassxc and its extension: they talk to each other through the new native messaging protocol. Passwords are not stored anymore in the browser but retrieved at runtime from keepassxc. However I had to compile keepassxc from the develop branch for this feature to work; the current stable release does not yet have it, I assume the new release to happen soon.
just my .2 cents, hth
EDIT: cleared up ambiguity
@apiraino are you saying that you did these steps before upgrading to FF57 ? I'm assuming so, as password-exporter no longer works on FF57+.
@netllama correct
@apiraino Thanks for your answer, but password-exporter is incompatible with my version of firefox (57) I succeed in 2 steps on my macbook :
- I subscribe and synchronised firefox, so my other devices can sync
- I import in safari from firefox , idem for opera and chrome My other devices (ipad, imac, iphone) are synchronized via icloud for safari.
So sync of password on every devices, for every browser is OK (chrome and opera are not so important for me) But I can’t get a paper list of my password.
@Cezanna Don't own a Mac. You may try https://github.com/AlessandroZ/LaZagne . It borrows code from password-exporter. There are maybe some fixes in this other software that will make FireFox password export works on your Mac ?!
@Cezanna as you correctly point out, the extension password-exporter is not compatible with Firefox >= 57.
However, if you need to dump your passwords, you can try one of the suggestions stated above which involve using Firefox 52 ESR or that other python script (which I tried but it doesn't work for me).
I have the following error Traceback (most recent call last): File "firepwd.py", line 15, in from pyasn1.codec.der import decoder ImportError: No module named pyasn1.codec.der
How I can get and install the missing module ?
You could try the code below,
git clone https://github.com/lclevy/firepwd sudo apt install python-pip python setup.pi install pip install pyasn1 pip install --upgrade pip cd $firepwd cp "$mozilla/key3.db" "$firepwd/key3.db" cp "$mozilla/logins.json" "$firepwd/logins.json" python2.7 firepwd.py -d ./ | sed 's:\x0[0-9]::g'
It worked for me.
Regards, rammy61
Using XUbuntu
Thanks all for your answer but as I mentionned above :
- I have a mac, and anyway apt is only for certain distro of linux
- I solved mainly my problem and don't look for anymore. Have nice days ..
As current ESR is now using webextensions only, this might get some more traction, reading the bugzilla-issue, which was linked above, and it seems to get some more attention at mozilla. Lets hope this will get finished soon, as this plugin helps ALOT, in my case when re-installing my computer from scratch and maintaining my logins.
For everyone following this thread, I have created a simple desktop application called FF Password Exporter for exporting your passwords from Firefox 58+ to a portable CSV or JSON format. It works on Windows, macOS, and Linux. You can download it from GitHub here: https://github.com/kspearrin/ff-password-exporter

Hope it helps.
@grosho2 @kspearrin Yeah, nice work, but... it requires Node to be installed and a separate Windows binary... Very sad to say, but that is a no go.
You don’t have to install node unless you are trying to run dev builds of the app...