class GPGME::Key
Public Class Methods
valid_fingerprint?(fp)
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 84 def self.valid_fingerprint?(fp) fp.present? && fp.match?(Schleuder::Conf::FINGERPRINT_REGEXP) end
Public Instance Methods
armored()
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 56 def armored "#{self.to_s}\n\n#{export(armor: true).read}" end
expired?()
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 25 def expired? expired.present? end
fingerprint()
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 66 def fingerprint orig_fingerprint.encode(Encoding::US_ASCII) end
Also aliased as: orig_fingerprint
generated_at()
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 21 def generated_at primary_subkey.timestamp end
minimal()
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 60 def minimal export(minimal: true).to_s end
orig_fingerprint()
Force encoding, some databases save “ASCII-8BIT” as binary data.
Alias for: fingerprint
summary()
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 29 def summary @summary ||= begin datefmt = '%Y-%m-%d' attribs = [ "0x#{fingerprint}", email, generated_at.strftime(datefmt) ] if usability_issue.present? case usability_issue when :expired attribs << "[expired: #{expires.strftime(datefmt)}]" when :revoked # TODO: add revocation date when it's available. attribs << '[revoked]' else attribs << "[#{usability_issue}]" end end if expires? && ! expired? attribs << "[expires: #{expires.strftime(datefmt)}]" end attribs.join(' ') end end
to_s()
click to toggle source
Overwrite to specify the full fingerprint instead of the short key-ID.
# File lib/schleuder/gpgme/key.rb, line 4 def to_s primary_subkey = subkeys[0] s = sprintf("%s %4d%s/%s %s\n", primary_subkey.secret? ? 'sec' : 'pub', primary_subkey.length, primary_subkey.pubkey_algo_letter, primary_subkey.fingerprint, primary_subkey.timestamp.strftime('%Y-%m-%d')) uids.each do |user_id| s << "uid\t\t#{user_id.name} <#{user_id.email}>\n" end subkeys.each do |subkey| s << subkey.to_s end s end
usability_issue()
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 74 def usability_issue if trust.present? trust elsif ! usable_for?(:encrypt) 'not capable of encryption' else nil end end
usable?()
click to toggle source
# File lib/schleuder/gpgme/key.rb, line 70 def usable? usability_issue.blank? end