Module: CmbPay::Sign::Sha1WithRsa

Defined in:
lib/cmb_pay/sign.rb

Class Method Summary collapse

Class Method Details

.plain_text(param_string) ⇒ Object



17
18
19
# File 'lib/cmb_pay/sign.rb', line 17

def self.plain_text(param_string)
  param_string[0, param_string.index('&Signature=')]
end

.signature(param_string) ⇒ Object



21
22
23
24
# File 'lib/cmb_pay/sign.rb', line 21

def self.signature(param_string)
  sign = param_string[param_string.index('&Signature=') + 11, param_string.length - 1]
  sign.split('|').map { |ascii_code| ascii_code.to_i.chr }.join('')
end

.verify(param_string) ⇒ Object



10
11
12
13
# File 'lib/cmb_pay/sign.rb', line 10

def self.verify(param_string)
  pub = OpenSSL::PKey::RSA.new(CMB_PUBLIC_KEY)
  pub.verify('sha1', signature(param_string), plain_text(param_string))
end