Module: Pem2xml

Defined in:
lib/pem2xml.rb,
lib/pem2xml/version.rb

Defined Under Namespace

Classes: RSAXML

Constant Summary collapse

VERSION =
"0.2.1"

Class Method Summary collapse

Class Method Details

.mainObject



9
10
11
12
13
14
15
16
# File 'lib/pem2xml.rb', line 9

def self.main()
  file_name = ARGV[0]
  raise "key file doesn't exists" if (file_name == nil) || !File.exists?(file_name)
  puts "loading #{file_name}"
  file = File.open file_name
  key = OpenSSL::PKey::RSA.new file
  puts key.to_xml.to_s
end

.process_private(key) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/pem2xml.rb', line 30

def self.process_private(key)
  doc = RSAXML.new
  params = {
    'Modulus' => key.n.to_base64,
    'Exponent' => key.e.to_base64,
    'P' => key.p.to_base64,
    'Q' => key.q.to_base64,
    'DP' => key.dmp1.to_base64,
    'DQ' => key.dmq1.to_base64,
    'InverseQ' => key.iqmp.to_base64,
    'D' => key.d.to_base64,
  }
  doc.add_params params
  return doc
end

.process_public(key) ⇒ Object



46
47
48
49
50
51
52
53
54
# File 'lib/pem2xml.rb', line 46

def self.process_public(key)
  doc = RSAXML.new
  params = {
    'Modulus' => key.n.to_base64,
    'Exponent' => key.e.to_base64,
  }
  doc.add_params params
  return doc
end