Class: LolitaBankLink::Crypt
- Inherits:
-
Object
- Object
- LolitaBankLink::Crypt
- Defined in:
- lib/lolita-bank-link/crypt.rb
Instance Attribute Summary collapse
-
#digest ⇒ Object
readonly
Returns the value of attribute digest.
-
#private_key ⇒ Object
readonly
Returns the value of attribute private_key.
-
#public_key ⇒ Object
readonly
Returns the value of attribute public_key.
Instance Method Summary collapse
- #calc_mac_signature(params, service = '1002') ⇒ Object
-
#initialize ⇒ Crypt
constructor
A new instance of Crypt.
- #sign(message) ⇒ Object
- #verify_mac_signature(params, signature) ⇒ Object
Constructor Details
#initialize ⇒ Crypt
Returns a new instance of Crypt.
5 6 7 8 9 |
# File 'lib/lolita-bank-link/crypt.rb', line 5 def initialize @private_key = read_private_key(LolitaBankLink.private_key) @public_key = extract_public_key(LolitaBankLink.bank_certificate) @digest = OpenSSL::Digest::SHA1.new end |
Instance Attribute Details
#digest ⇒ Object (readonly)
Returns the value of attribute digest.
3 4 5 |
# File 'lib/lolita-bank-link/crypt.rb', line 3 def digest @digest end |
#private_key ⇒ Object (readonly)
Returns the value of attribute private_key.
3 4 5 |
# File 'lib/lolita-bank-link/crypt.rb', line 3 def private_key @private_key end |
#public_key ⇒ Object (readonly)
Returns the value of attribute public_key.
3 4 5 |
# File 'lib/lolita-bank-link/crypt.rb', line 3 def public_key @public_key end |
Instance Method Details
#calc_mac_signature(params, service = '1002') ⇒ Object
20 21 22 23 24 |
# File 'lib/lolita-bank-link/crypt.rb', line 20 def calc_mac_signature(params, service = '1002') mac = prepair_mac_string(params,service) enc_mac = self.sign(mac) enc_mac end |
#sign(message) ⇒ Object
11 12 13 |
# File 'lib/lolita-bank-link/crypt.rb', line 11 def sign Base64::encode64(private_key.sign(digest, )).rstrip end |
#verify_mac_signature(params, signature) ⇒ Object
15 16 17 18 |
# File 'lib/lolita-bank-link/crypt.rb', line 15 def verify_mac_signature(params, signature) mac = prepair_mac_string(params,params[:service]) verify(mac, signature) end |