Class: AuthenticatorServer::RSAKeyPairProvider

Inherits:
Object
  • Object
show all
Defined in:
lib/authenticator_server/rsa_key_pair_provider.rb

Constant Summary collapse

KEY_LENGTH =
2048

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRSAKeyPairProvider

Constructor to initialize class fields

Author:

  • Shobhit Dixit



17
18
19
20
# File 'lib/authenticator_server/rsa_key_pair_provider.rb', line 17

def initialize
  @rsa_private_key = OpenSSL::PKey::RSA.generate KEY_LENGTH
  @rsa_public_key = @rsa_private_key.public_key
end

Class Method Details

.private_key_from_base64(private_key_base64) ⇒ Object

Method to convert private key base64 string to OpenSSL::PKey::RSA object

Parameters:

  • private_key_base64 (String)

    string which will be converted into OpenSSL::PKey::RSA object

Returns:

  • (Object)

    OpenSSL::PKey::RSA object

Raises:

  • (ArgumentError)

Author:

  • Shobhit Dixit



55
56
57
58
59
60
# File 'lib/authenticator_server/rsa_key_pair_provider.rb', line 55

def self.private_key_from_base64(private_key_base64)
  raise ArgumentError.new('String argument is expected')  unless private_key_base64.kind_of? String
  private_key = OpenSSL::PKey::RSA.new private_key_base64
  raise ArgumentError.new('Not a valid private key') unless private_key.private?
  private_key
end

.public_key_from_base64(public_key_base64) ⇒ Object

Method to convert public key base64 string to OpenSSL::PKey::RSA object

Parameters:

  • public_key_base64 (String)

    string which will be converted into OpenSSL::PKey::RSA object

Returns:

  • (Object)

    OpenSSL::PKey::RSA object

Raises:

  • (ArgumentError)

Author:

  • Shobhit Dixit



43
44
45
46
47
48
# File 'lib/authenticator_server/rsa_key_pair_provider.rb', line 43

def self.public_key_from_base64(public_key_base64)
  raise ArgumentError.new('String argument is expected')  unless public_key_base64.kind_of? String
  public_key = OpenSSL::PKey::RSA.new public_key_base64
  raise ArgumentError.new('Not a valid public key') if public_key.private?
  public_key
end

Instance Method Details

#private_key_base64String

Method to return OpenSSL::PKey::RSA private_key in base64 string

Returns:

  • (String)

    private_key in base64 string format

Author:

  • Shobhit Dixit



34
35
36
# File 'lib/authenticator_server/rsa_key_pair_provider.rb', line 34

def private_key_base64
  @rsa_private_key.to_s
end

#public_key_base64String

Method to return OpenSSL::PKey::RSA public_key in base64 string

Returns:

  • (String)

    public_key in base64 string format

Author:

  • Shobhit Dixit



26
27
28
# File 'lib/authenticator_server/rsa_key_pair_provider.rb', line 26

def public_key_base64
  @rsa_public_key.to_s
end