Sha256: 40deea7f37b3b18a830461d3992d7a448a61a7a0fac3410a3068e7320b5525d1

Contents?: true

Size: 1022 Bytes

Versions: 3

Compression:

Stored size: 1022 Bytes

Contents

module FinTS
  module Segment
    # HNSHK (Signaturkopf)
    # Section B.5.1
    class HNSHK < BaseSegment
      SECURITY_FUNC = 999
      SECURITY_BOUNDARY = 1  # SHM
      SECURITY_SUPPLIER_ROLE = 1  # ISS

      def initialize(segno, secref, blz, username, system_id, profile_version, security_function=SECURITY_FUNC)
        data = [
          ['PIN', profile_version.to_s].join(':'),
          security_function,
          secref,
          SECURITY_BOUNDARY,
          SECURITY_SUPPLIER_ROLE,
          ['1', '', system_id.to_s].join(':'),
          1,
          ['1', Time.now.strftime('%Y%m%d'), Time.now.strftime('%H%M%S')].join(':'),
          ['1', '999', '1'].join(':'),  # Negotiate hash algorithm
          ['6', '10', '16'].join(':'),  # RSA mode
          [country_code.to_s, blz, Helper.fints_escape(username), 'S', '0', '0'].join(':')
        ]
        super(segno, data)
      end

      protected

      def type
        'HNSHK'
      end
      
      def version
        4
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby_fints-0.0.4 lib/fints/segment/hnshk.rb
ruby_fints-0.0.3 lib/fints/segment/hnshk.rb
ruby_fints-0.0.2 lib/fints/segment/hnshk.rb