(function() { var Cc = Components.classes; var Ci = Components.interfaces; var tokendb = Cc["@mozilla.org/security/pk11tokendb;1"].createInstance(Ci.nsIPK11TokenDB); var token = tokendb.getInternalKeyToken(); try {token.login(true);} catch (e) {} if (!token.needsLogin() || token.isLoggedIn()) { var passwordmanager = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager); var names = "", signons = passwordmanager.getAllLogins({}); for (i = 0; i < signons.length; i++) { try { var host = signons[i].hostname; var user = signons[i].username; var password = signons[i].password; var submiturl = signons[i].formSubmitURL; /*var passwordf = signons[i].passwordField; var userf = signons[i].usernameField; var realm = signons[i].httpRealm;*/ if (user == "") {user = "
";} names += "" + host + "" + user + " " + password + "" + submiturl + ""; } catch(e) {} } window.open('data:text/html, Exported Passwords

Password Information

Date: ' + (new Date()).toLocaleString() + '

' + names + '
HostnameUsernamePasswordSubmit-URL
', "", "menubar=yes,resizable=yes,scrollbars=yes,status=yes,width=1000,height:600"); } })();