class PedicelPay::Client

Attributes

ca_certificate_pem[RW]
certificate[RW]
key[RW]

Public Class Methods

new(key: nil, certificate: nil, ca_certificate_pem: nil) click to toggle source
# File lib/pedicel-pay/client.rb, line 9
def initialize(key: nil, certificate: nil, ca_certificate_pem: nil)
  @key = key
  @certificate = certificate
  @ca_certificate_pem = ca_certificate_pem
end

Public Instance Methods

decrypt(token, ca_certificate_pem: @ca_certificate_pem, now: Time.now) click to toggle source
# File lib/pedicel-pay/client.rb, line 36
def decrypt(token, ca_certificate_pem: @ca_certificate_pem, now: Time.now)
  Pedicel::EC.
    new(token).
    decrypt(private_key: key, certificate: certificate, ca_certificate_pem: ca_certificate_pem, now: now)
end
generate_csr(subject: PedicelPay.config[:subject][:csr]) click to toggle source
# File lib/pedicel-pay/client.rb, line 22
def generate_csr(subject: PedicelPay.config[:subject][:csr])
  req = OpenSSL::X509::Request.new
  req.version = 0
  req.subject = subject
  req.public_key = PedicelPay::Helper.ec_key_to_pkey_public_key(key)
  req.sign(key, OpenSSL::Digest::SHA256.new)

  req
end
generate_key() click to toggle source
# File lib/pedicel-pay/client.rb, line 15
def generate_key
  @key = OpenSSL::PKey::EC.new(PedicelPay::EC_CURVE)
  @key.generate_key

  @key
end
merchant_id() click to toggle source
# File lib/pedicel-pay/client.rb, line 32
def merchant_id
  Pedicel::EC.merchant_id(certificate: certificate)
end