Sha256: 785e6ad576c0d8b5cce0952184dfc6c2b7472801e9bf224bb4e4617dedf6c708

Contents?: true

Size: 521 Bytes

Versions: 3

Compression:

Stored size: 521 Bytes

Contents

# frozen_string_literal: true

module Sberbank
  module Acquiring
    class AsymmetricKeyChecksumValidator < AbstractChecksumValidator
      def validate(checksum, params = {})
        certificate.public_key.verify(
          @digest,
          [checksum].pack('H*'),
          generate_digest_data(params)
        )
      end

      private

      def certificate
        @certificate ||= OpenSSL::X509::Certificate.new(@key)
      end

      def digest_class
        OpenSSL::Digest::SHA512
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sberbank-acquiring-1.0.0 lib/sberbank/acquiring/asymmetric_key_checksum_validator.rb
sberbank-acquiring-0.2.1 lib/sberbank/acquiring/asymmetric_key_checksum_validator.rb
sberbank-acquiring-0.2.0 lib/sberbank/acquiring/asymmetric_key_checksum_validator.rb