Class: Mpesa::SecurityCred

Inherits:
Object
  • Object
show all
Defined in:
lib/mpesa/securitycred.rb

Overview

Security Credentials

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pass, env) ⇒ SecurityCred

Returns a new instance of SecurityCred.



11
12
13
14
# File 'lib/mpesa/securitycred.rb', line 11

def initialize(pass, env)
  @initiator_password = pass
  @env = env
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



9
10
11
# File 'lib/mpesa/securitycred.rb', line 9

def env
  @env
end

#initiator_passwordObject (readonly)

Returns the value of attribute initiator_password.



9
10
11
# File 'lib/mpesa/securitycred.rb', line 9

def initiator_password
  @initiator_password
end

Instance Method Details

#password_credentialObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mpesa/securitycred.rb', line 16

def password_credential
  raw = if env == 'production'
          File.read(File.join(File.dirname(__FILE__), '../cert/production.pem'))
        else
          File.read(File.join(File.dirname(__FILE__), '../cert/sandbox.pem'))
        end

  cert = OpenSSL::X509::Certificate.new(raw)
  key = cert.public_key
  Base64.strict_encode64(key.public_encrypt(initiator_password))
end