class Firefox::Login
Constants
- JSON_SCHEMA
Attributes
enc_type[RW]
encrypted_password[RW]
encrypted_username[RW]
form_submit_url[RW]
guid[RW]
hostname[RW]
http_realm[RW]
id[RW]
password[RW]
password_field[RW]
time_created[RW]
time_last_used[RW]
time_password_changed[RW]
times_used[RW]
username[RW]
username_field[RW]
Public Class Methods
from_json(data)
click to toggle source
# File lib/firefox/login.rb, line 67 def self.from_json(data) # In firefox (checked in the mercurial repository on 2017-02-11), # logins.json is updated in # toolkit/components/passwordmgr/storage-json.js begin JSON::Validator.validate!(JSON_SCHEMA, data) rescue JSON::Schema::ValidationError => err raise InvalidLogin, "invalid login data: #{err.message}" end login = Login.new() to_date = lambda do |timestamp| seconds = timestamp / 1000 milliseconds = timestamp % 1000 Time.at(seconds, milliseconds).utc() end login.id = data['id'] login.hostname = data['hostname'] login.http_realm = data['httpRealm'] login.form_submit_url = data['formSubmitURL'] login.username_field = data['usernameField'] login.password_field = data['passwordField'] login.encrypted_username = data['encryptedUsername'] login.encrypted_password = data['encryptedPassword'] login.enc_type = data['encType'] login.guid = data['guid'] login.time_created = to_date.(data['timeCreated']) login.time_last_used = to_date.(data['timeLastUsed']) login.time_password_changed = to_date.(data['timePasswordChanged']) login.times_used = data['timesUsed'] login end
new()
click to toggle source
# File lib/firefox/login.rb, line 56 def initialize() end
Public Instance Methods
decrypt()
click to toggle source
# File lib/firefox/login.rb, line 104 def decrypt() @username = NSS.decrypt(@encrypted_username) @password = NSS.decrypt(@encrypted_password) end
inspect()
click to toggle source
# File lib/firefox/login.rb, line 63 def inspect() to_s() end
to_s()
click to toggle source
# File lib/firefox/login.rb, line 59 def to_s() "#<Firefox::Login #{@hostname}>" end