Class: OsslRsa::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/ossl_rsa/generator.rb

Overview

generator class

Class Method Summary collapse

Class Method Details

.generate(options) ⇒ OpenSSL::PKey::RSA

generate OpenSSL::PKey::RSA instance. generate rsa instance by options. options : key size options : pem or der options : password

Parameters:

  • options (Hash)

    generate options.

Returns:

  • (OpenSSL::PKey::RSA)

    rsa instance.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/ossl_rsa/generator.rb', line 16

def self.generate(options)

  rsa = nil
  # if size and private exist, raise error.

  if (!options[:size].nil? && !options[:obj].nil?)
    raise OpenSSL::PKey::RSAError.new("size and obj is nil.")
  end

  # if exist size, generate use size, cipher.

  unless options[:size].nil?
    rsa = generate_rsa_by_size(options[:size])
  end

  # if exist obj, generate use obj, pass.

  unless options[:obj].nil?
    rsa = generate_rsa_by_key(options[:obj], options[:pass])
  end

  # raise Error

  if rsa.nil?
    raise OpenSSL::PKey::RSAError.new("fail create rsa instance.")
  end

  rsa
end