Class: PGP::PrivateKey

Inherits:
Object
  • Object
show all
Defined in:
lib/pgp/private_key.rb

Overview

This is more module than class. Eventually it will probably inherit from

the PGPPrivateKey class and make using it less ghoulish.

Class Method Summary collapse

Class Method Details

.from_file(filename, key_id) ⇒ Object



15
16
17
18
19
20
# File 'lib/pgp/private_key.rb', line 15

def self.from_file(filename, key_id)
  pgp_sec = keyring_from_file(filename)
  sec_key = pgp_sec.get_secret_key(key_id)

  sec_key.extract_private_key(nil, BC_Provider_Code) if sec_key
end

.from_string(string, key_id) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/pgp/private_key.rb', line 7

def self.from_string(string, key_id)
  stream = PGP.string_to_bais(string)
  pgp_sec = keyring_from_stream(stream)
  sec_key = pgp_sec.get_secret_key(key_id)

  sec_key.extract_private_key(nil, BC_Provider_Code) if sec_key
end

.keyring_from_file(filename) ⇒ Object



22
23
24
25
# File 'lib/pgp/private_key.rb', line 22

def self.keyring_from_file(filename)
  file = File.open(filename)
  keyring_from_stream(file.to_inputstream)
end

.keyring_from_stream(stream) ⇒ Object



27
28
29
30
# File 'lib/pgp/private_key.rb', line 27

def self.keyring_from_stream(stream)
  yafs = PGPUtil.get_decoder_stream(stream)
  PGPSecretKeyRingCollection.new(yafs)
end