class ApplePay::PaymentToken::Signature
Attributes
application_data[RW]
data[RW]
ephemeral_public_key[RW]
signature[RW]
transaction_id[RW]
wrapped_key[RW]
Public Class Methods
new(signature, data:, ephemeral_public_key: nil, wrapped_key: nil, transaction_id:, application_data: nil)
click to toggle source
# File lib/apple_pay/payment_token/signature.rb, line 8 def initialize(signature, data:, ephemeral_public_key: nil, wrapped_key: nil, transaction_id:, application_data: nil) self.signature = signature self.data = data self.ephemeral_public_key = ephemeral_public_key self.wrapped_key = wrapped_key self.transaction_id = transaction_id self.application_data = application_data end
Public Instance Methods
verify!()
click to toggle source
# File lib/apple_pay/payment_token/signature.rb, line 17 def verify! chain = CertificateChain.new signature signature_base_string = [ Base64.decode64(ephemeral_public_key || wrapped_key), Base64.decode64(data), [transaction_id].pack('H*'), [application_data].pack('H*') ].join chain.verify( signature_base_string ) or raise VerificationFailed end