Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DKB: Error during dialog initialization, could not fetch BPD #106

Open
henning77 opened this issue Feb 27, 2020 · 20 comments
Open

DKB: Error during dialog initialization, could not fetch BPD #106

henning77 opened this issue Feb 27, 2020 · 20 comments

Comments

@henning77
Copy link

Describe the bug
Execution of the test script fails with this error:
fints.exceptions.FinTSClientError: Error during dialog initialization, could not fetch BPD. Please check that you passed the correct bank identifier to the HBCI URL of the correct bank.

*Bank I tested this with
Name of the bank: DKB
FinTS URL: https://banking-dkb.s-fints-pt-dkb.de/fints30

Expected behavior
Test script should execute without error.

Code required to reproduce
See test script
With these parameters:

client_args = (
    '12030000',  # BLZ
    '********',  # USER
    getpass.getpass('PIN: '),
    'https://banking-dkb.s-fints-pt-dkb.de/fints30'  # ENDPOINT
)

Log output / error message

Log


WARNING:fints.client:You should register your program with the ZKA and pass your own product_id as a parameter.
DEBUG:fints.connection:Sending >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	fints.message.FinTSCustomerMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 383, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '0', # Dialog-ID
	        message_number = 1, # Nachrichtennummer
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 1, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                cid = None,
	                identifier = '0',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                date = datetime.date(2020, 2, 27),
	                time = datetime.time(17, 0, 40, 799136),
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '999', # Sicherheitsfunktion, kodiert
	                    security_reference = '7613855', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                            cid = None,
	                            identifier = '0',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                            date = datetime.date(2020, 2, 27),
	                            time = datetime.time(17, 0, 40, 798518),
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.auth.HKIDN2( # Identifikation, version 2
	                    header = fints.formals.SegmentHeader('HKIDN', 3, 2), # Segmentkopf
	                    bank_identifier = fints.formals.BankIdentifier( # Kreditinstitutskennung
	                            country_identifier = '280',
	                            bank_code = '12030000',
	                        ),
	                    customer_id = '********', # Kunden-ID
	                    system_id = '0', # Kundensystem-ID
	                    system_id_status = fints.formals.SystemIDStatus.ID_NECESSARY, # Kundensystem-Status: Kundensystem-ID wird benötigt
	                ),
	                fints.segments.auth.HKVVB3( # Verarbeitungsvorbereitung, version 3
	                    header = fints.formals.SegmentHeader('HKVVB', 4, 3), # Segmentkopf
	                    bpd_version = 0, # BPD-Version
	                    upd_version = 0, # UPD-Version
	                    language = fints.formals.Language2.DE, # Dialogsprache: Deutsch, 'de', Subset Deutsch, Codeset 1 (Latin 1)
	                    product_name = 'DC333D745719C4BD6A6F9DB6A', # Produktbezeichnung
	                    product_version = '3.0.0', # Produktversion
	                ),
	                fints.segments.dialog.HKSYN3( # Synchronisierung, version 3
	                    header = fints.formals.SegmentHeader('HKSYN', 5, 3), # Segmentkopf
	                    synchronization_mode = fints.formals.SynchronizationMode.NEW_SYSTEM_ID, # Neue Kundensystem-ID zurückmelden
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 6, 2), # Segmentkopf
	                    security_reference = '7613855', # Sicherheitskontrollreferenz
	                    user_defined_signature = fints.formals.UserDefinedSignature( # Benutzerdefinierte Signatur
	                            pin = '***',
	                        ),
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 7, 1), # Segmentkopf
	        message_number = 1, # Nachrichtennummer
	    ),
	])

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): banking-dkb.s-fints-pt-dkb.de:443
DEBUG:urllib3.connectionpool:https://banking-dkb.s-fints-pt-dkb.de:443 "POST /fints30 HTTP/1.1" 200 15850
DEBUG:fints.connection:Received <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	fints.message.FinTSInstituteMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 11583, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '189206386060=898044428522BLDS=', # Dialog-ID
	        message_number = 1, # Nachrichtennummer
	        reference_message = fints.formals.ReferenceMessage( # Bezugsnachricht
	                dialog_id = '189206386060=898044428522BLDS=',
	                message_number = 1,
	            ),
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 1, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                cid = None,
	                identifier = '0',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                date = datetime.date(2020, 2, 27),
	                time = datetime.time(17, 0, 40),
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '999', # Sicherheitsfunktion, kodiert
	                    security_reference = '7613855', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                            cid = None,
	                            identifier = '0',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                            date = datetime.date(2020, 2, 27),
	                            time = datetime.time(17, 0, 40),
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.dialog.HIRMG2( # Rückmeldungen zur Gesamtnachricht
	                    header = fints.formals.SegmentHeader('HIRMG', 3, 2), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '3060',
	                                    reference_element = None,
	                                    text = 'Bitte beachten Sie die enthaltenen Warnungen/Hinweise.',
	                                ),
	                        ],
	                ),
	                fints.segments.dialog.HIRMS2( # Rückmeldungen zu Segmenten
	                    header = fints.formals.SegmentHeader('HIRMS', 4, 2, 5), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '0020',
	                                    reference_element = None,
	                                    text = 'Auftrag ausgeführt.',
	                                ),
	                        ],
	                ),
	                fints.segments.dialog.HIRMS2( # Rückmeldungen zu Segmenten
	                    header = fints.formals.SegmentHeader('HIRMS', 5, 2, 4), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '3050',
	                                    reference_element = None,
	                                    text = 'BPD nicht mehr aktuell, aktuelle Version enthalten.',
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '3920',
	                                    reference_element = None,
	                                    text = 'Zugelassene Zwei-Schritt-Verfahren für den Benutzer.',
	                                    parameters = [
	                                            '921',
	                                        ],
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '0020',
	                                    reference_element = None,
	                                    text = 'Der Auftrag wurde ausgeführt.',
	                                ),
	                        ],
	                ),
	                fints.segments.bank.HIBPA3( # Bankparameter allgemein, version 3
	                    header = fints.formals.SegmentHeader('HIBPA', 6, 3, 4), # Segmentkopf
	                    bpd_version = 7, # BPD-Version
	                    bank_identifier = fints.formals.BankIdentifier( # Kreditinstitutskennung
	                            country_identifier = '280',
	                            bank_code = '12030000',
	                        ),
	                    bank_name = 'Deutsche Kreditbank Aktiengesellschaft', # Kreditinstitutsbezeichnung
	                    number_tasks = 3, # Anzahl Geschäftsvorfallarten pro Nachricht
	                    supported_languages = fints.formals.SupportedLanguages2( # Unterstützte Sprachen
	                            languages = [
	                                    fints.formals.Language2.DE, # Deutsch, 'de', Subset Deutsch, Codeset 1 (Latin 1)
	                                ],
	                        ),
	                    supported_hbci_version = fints.formals.SupportedHBCIVersions2( # Unterstützte HBCI-Versionen
	                            versions = [
	                                    '300',
	                                ],
	                        ),
	                ),
	                fints.segments.bank.HIKOM4( # Kommunikationszugang rückmelden, version 4
	                    header = fints.formals.SegmentHeader('HIKOM', 7, 4, 4), # Segmentkopf
	                    bank_identifier = fints.formals.BankIdentifier( # Kreditinstitutskennung
	                            country_identifier = '280',
	                            bank_code = '12030000',
	                        ),
	                    default_language = fints.formals.Language2.DE, # Standardsprache: Deutsch, 'de', Subset Deutsch, Codeset 1 (Latin 1)
	                    communication_parameters = [ # Kommunikationsparameter
	                                fints.formals.CommunicationParameter2( # Kommunikationsparameter
	                                    service_type = fints.formals.ServiceType2.HTTPS, # Kommunikationsdienst: https
	                                    address = 'banking-dkb.s-fints-pt-dkb.de/fints30', # Kommunikationsadresse
	                                ),
	                                fints.formals.CommunicationParameter2( # Kommunikationsparameter
	                                    service_type = fints.formals.ServiceType2.TCP_IP, # Kommunikationsdienst: TCP/IP (Protokollstack SLIP/PPP)
	                                    address = 'banking.s-fints-pt-dkb.de', # Kommunikationsadresse
	                                    filter_function = 'MIM', # Filterfunktion
	                                    filter_function_version = 1, # Version der Filterfunktion
	                                ),
	                        ],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HISHV', 8, 3, 4), # Segmentkopf
	                    _additional_data = ['N', ['DDV', '1'], ['PIN', '1']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICSUS', 9, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['INTC;CORT', 'urn:iso:std:iso:20022:tech:xsd:pain.001.003.03', 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPKBS', 10, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPKAS', 11, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPCRS', 12, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPWES', 13, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPWLS', 14, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'J', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPWBS', 15, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPWAS', 16, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIIPZS', 17, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', [';', 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIIPSS', 18, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['10', 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWOKS', 19, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['9999999,99', 'EUR']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWDHS', 20, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'N', '730']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVES', 21, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'E'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIPTZS', 22, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'J'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIEEAS', 23, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['DKPTZ', '1', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIALES', 24, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['V-EC-KARTE', 'V-S-CARD', 'V-WERTKARTE']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIALLS', 25, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIALNS', 26, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['V-EC-KARTE', 'V-S-CARD', 'V-WERTKARTE']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIANAS', 27, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['1', '15']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIANLS', 28, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBAZS', 29, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBKDS', 30, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBKDS', 31, 4, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBKUS', 32, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBUMS', 33, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVAS', 34, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVBS', 35, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVDS', 36, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVKS', 37, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'V-EC-KARTE', 'V-S-CARD', 'V-WERTKARTE']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVPS', 38, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['8', '20']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVRS', 39, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['8', '20', None, 'N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVSS', 40, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIBVSS', 41, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFAS', 42, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFBS', 43, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFCS', 44, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFDS', 45, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFLS', 46, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFUS', 47, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFUS', 48, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDIHS', 49, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFSS', 50, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', '1;DekaBank-Konzern;5;Swisscanto;7;JPMorgan Fleming;8;Lombard Odier;10;Franklin Templeton;11;Gartmore;12;Goldman Sachs;13;Black Rock Merrill;14;Threadneedle;15;UBS;16;Schroders', '10_10', 'Aktienfonds Asien - Pazifik ohne Japan', '10_20', 'Aktienfonds Branche', '10_30', 'Aktienfonds Deutschland', '10_40', 'Aktienfonds Emerging Markets', '10_50', 'Aktienfonds Euroland', '10_60', 'Aktienfonds Europa Länder', '10_70', 'Aktienfonds Europa', '10_80', 'Aktienfonds Japan', '10_90', 'Aktienfonds Lateinamerika', '10_100', 'Aktienfonds Nordamerika', '10_110', 'Aktienfonds Osteuropa', '10_120', 'Aktienfonds Welt', '10_400', 'Aktienfonds Afrika', '10_410', 'Aktienfonds Mittlerer Osten', '10_420', 'Aktienfonds Nordeuropa', '20_130', 'Dachfonds Chance Plus', '20_140', 'Dachfonds Chance', '20_150', 'Dachfonds Ertrag Plus', '20_160', 'Dachfonds Ertrag', '20_170', 'Dachfonds Wachstum', '20_180', 'Dachfonds laufzeitbegrenzt', '30_430', 'Garantiefonds', '40_200', 'Geldmarktfonds', '40_210', 'Geldmarktnahe Fonds', '50_220', 'Alternative Investmentfonds Hedgefonds', '50_230', 'Alternative Investmentfonds Private Equity', '50_240', 'Alternative Investmentfonds Rohstofffonds', '60_250', 'Sonderkonzepte Absolute-/Total-Returnstrategiefonds', '60_260', 'Sonderkonzepte Altersvorsorgefonds', '60_270', 'Sonderkonzepte Institutionelle Fondskonzepte', '60_280', 'Sonderkonzepte Steuerorientierte Fonds', '70_30', 'Immobilienfonds Deutschland', '70_70', 'Immobilienfonds Europa', '70_120', 'Immobilienfonds Welt', '80_50', 'Mischfonds Euroland', '80_290', 'Mischfonds ausgewogen', '80_300', 'Mischfonds dynamisch', '80_310', 'Mischfonds flexibel', '80_320', 'Mischfonds konservativ', '90_330', 'Rentenfonds Inflationsindexierte Anleihen', '90_340', 'Rentenfonds Laufzeitfonds', '90_350', 'Rentenfonds MBS', '90_360', 'Rentenfonds Nachranganleihen', '90_370', 'Rentenfonds Staatsanleihen', '90_380', 'Rentenfonds Unternehmensanleihen', '90_390', 'Rentenfonds Wandelanleihen']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDDIS', 51, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['DKDOF;2', 'DKDFO;2']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFOS', 52, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFPS', 53, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDPFS', 54, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDFES', 55, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDEFS', 56, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIDOFS', 57, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIFAFS', 58, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIGBAS', 59, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIGBSS', 60, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'J'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIKSBS', 61, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', 'J'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIKSPS', 62, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', [';', 'sepade.pain.001.001.02.xsd', 'sepade.pain.001.002.02.xsd', 'sepade.pain.001.002.03.xsd', 'urn:iso:std:iso:20022:tech:xsd:pain.001.003.03', 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIPAES', 63, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIPSAS', 64, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIPSPS', 65, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIQUOS', 66, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIQUTS', 67, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DITLAS', 68, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DITLFS', 69, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DITLFS', 70, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DITSPS', 71, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIVVDS', 72, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIVVUS', 73, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWAPS', 74, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', ['J', 'STOP;SLOS;LMTO;MAKT', 'J', 'J', 'GDAY;GTMO;GTHD', 'J', '1', 'N', 'N', 'N', '9999999,99', 'EUR']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWAPS', 75, 4, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'STOP;STLI;LMTO;MAKT;OCOO;TRST', 'J', 'J', 'J', 'J', 'J', 'GDAY;GTMO;GTHD', 'J', '1', 'N', 'N', 'N', '9999999,99', 'EUR']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWDGS', 76, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWGVS', 77, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', '730', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWLVS', 78, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', '365', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DINZPS', 79, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'N', '4', 'N', 'N', None, None, 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIFOPS', 80, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', '4', 'N', 'N', 'N', None, None, None, 'MAKT', 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIFPOS', 81, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', '4', 'N', 'N', None, None, 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWOPS', 82, 5, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['0', 'N', '4', 'N', 'N', None, None, None, '9999999,99', 'EUR', 'STOP;STLI;LMTO;MAKT;OCOO;TRST', 'BUYI;SELL;AUCT;CONT;ALNO;DIHA', 'GDAY;GTMO;GTHD;GTCA;IOCA;OPEN;CLOS;FIKI', 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIWVBS', 83, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIZDFS', 84, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('DIZDLS', 85, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIAUBS', 86, 5, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIBMES', 87, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['2', '28', '2', '28', '1000', 'J', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIBSES', 88, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['2', '28', '2', '28']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICAZS', 89, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['450', 'N', 'N', 'urn:iso:std:iso:20022:tech:xsd:camt.052.001.02']],
	                ),
	                fints.segments.transfer.HICCMS1( # SEPA-Sammelüberweisung Parameter, version 1
	                    header = fints.formals.SegmentHeader('HICCMS', 90, 1, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.BatchTransferParameter1( # Parameter SEPA-Sammelüberweisung
	                            max_transfer_count = 1000, # Maximale Anzahl CreditTransferTransactionInformation
	                            sum_amount_required = True, # Summenfeld benötigt
	                            single_booking_allowed = False, # Einzelbuchung erlaubt
	                        ),
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICCSS', 91, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICDBS', 92, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICDES', 93, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['4', '0', '9999', '0102030612', '01020304050607080910111213141516171819202122232425262728293099']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICDLS', 94, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['0', '9999', 'J', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICDNS', 95, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['0', '0', '9999', 'J', 'J', 'J', 'J', 'J', 'N', 'J', 'J', 'J', '0102030612', '01020304050607080910111213141516171819202122232425262728293099']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICDUS', 96, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['1', '0', '9999', '1', 'N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICMBS', 97, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICMES', 98, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['1', '360', '1000', 'J', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICMLS', 99, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICSAS', 100, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['1', '360']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICSBS', 101, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICSES', 102, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['1', '360']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICSLS', 103, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'J'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICUBS', 104, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', 'J'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HICUMS', 105, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', [';', 'sepade.pain.001.001.02.xsd', 'sepade.pain.001.002.02.xsd', 'sepade.pain.001.002.03.xsd', 'urn:iso:std:iso:20022:tech:xsd:pain.001.003.03', 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03']],
	                ),
	                fints.segments.debit.HIDMCS1( # Terminierte SEPA-COR1-Sammellastschrift Parameter, version 1
	                    header = fints.formals.SegmentHeader('HIDMCS', 106, 1, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.ScheduledCOR1BatchDebitParameter1( # Parameter terminierte SEPA-COR1-Sammellastschrift
	                            max_debit_count = 1000, # Maximale Anzahl DirectDebitTransfer TransactionInformation
	                            sum_amount_required = True, # Summenfeld benötigt
	                            single_booking_allowed = False, # Einzelbuchung erlaubt
	                            min_advance_notice_FNAL_RCUR = 2, # Minimale Vorlaufzeit FNAL/RCUR
	                            max_advance_notice_FNAL_RCUR = 28, # Maximale Vorlaufzeit FNAL/RCUR
	                            min_advance_notice_FRST_OOFF = 2, # Minimale Vorlaufzeit FRST/OOFF
	                            max_advance_notice_FRST_OOFF = 28, # Maximale Vorlaufzeit FRST/OOFF
	                            supported_sepa_formats = [ # Unterstützte SEPA-Datenformate
	                                    'urn:iso:std:iso:20022:tech:xsd:pain.008.003.02', # Unterstützte SEPA-Datenformate
	                                ],
	                        ),
	                ),
	                fints.segments.debit.HIDMES1( # Terminierte SEPA-Sammellastschrift einreichen Parameter, version 1
	                    header = fints.formals.SegmentHeader('HIDMES', 107, 1, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.ScheduledBatchDebitParameter1( # Parameter terminierte SEPA-Sammellastschrift einreichen
	                            min_advance_notice_FNAL_RCUR = 2, # Minimale Vorlaufzeit FNAL/RCUR
	                            max_advance_notice_FNAL_RCUR = 28, # Maximale Vorlaufzeit FNAL/RCUR
	                            min_advance_notice_FRST_OOFF = 2, # Minimale Vorlaufzeit FRST/OOFF
	                            max_advance_notice_FRST_OOFF = 28, # Maximale Vorlaufzeit FRST/OOFF
	                            max_debit_count = 1000, # Maximale Anzahl DirectDebitTransfer TransactionInformation
	                            sum_amount_required = True, # Summenfeld benötigt
	                            single_booking_allowed = False, # Einzelbuchung erlaubt
	                        ),
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIDSBS', 108, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['J', 'J', '56']],
	                ),
	                fints.segments.debit.HIDSCS1( # Terminierte SEPA-COR1-Einzellastschrift Parameter, version 1
	                    header = fints.formals.SegmentHeader('HIDSCS', 109, 1, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.ScheduledCOR1DebitParameter1( # Parameter terminierte SEPA-COR1-Einzellastschrift
	                            min_advance_notice_FNAL_RCUR = 2, # Minimale Vorlaufzeit FNAL/RCUR
	                            max_advance_notice_FNAL_RCUR = 28, # Maximale Vorlaufzeit FNAL/RCUR
	                            min_advance_notice_FRST_OOFF = 2, # Minimale Vorlaufzeit FRST/OOFF
	                            max_advance_notice_FRST_OOFF = 28, # Maximale Vorlaufzeit FRST/OOFF
	                            supported_sepa_formats = [ # Unterstützte SEPA-Datenformate
	                                    'urn:iso:std:iso:20022:tech:xsd:pain.008.003.02', # Unterstützte SEPA-Datenformate
	                                ],
	                        ),
	                ),
	                fints.segments.debit.HIDSES1( # Terminierte SEPA-Einzellastschrift einreichen Parameter, version 1
	                    header = fints.formals.SegmentHeader('HIDSES', 110, 1, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.ScheduledDebitParameter1( # Parameter terminierte SEPA-Sammellastschrift einreichen
	                            min_advance_notice_FNAL_RCUR = 2, # Minimale Vorlaufzeit FNAL/RCUR
	                            max_advance_notice_FNAL_RCUR = 28, # Maximale Vorlaufzeit FNAL/RCUR
	                            min_advance_notice_FRST_OOFF = 2, # Minimale Vorlaufzeit FRST/OOFF
	                            max_advance_notice_FRST_OOFF = 28, # Maximale Vorlaufzeit FRST/OOFF
	                        ),
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIDSWS', 111, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIEKAS', 112, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'N', 'N', '1']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIEKAS', 113, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'N', 'N', '1']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIEKPS', 114, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'J', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIFGBS', 115, 2, 4), # Segmentkopf
	                    _additional_data = ['3', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIFGBS', 116, 3, 4), # Segmentkopf
	                    _additional_data = ['3', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIFRDS', 117, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIFRDS', 118, 4, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'J', 'N', '0', 'Kreditinstitut', '1', 'DekaBank']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKAZS', 119, 4, 4), # Segmentkopf
	                    _additional_data = ['1', '1', ['360', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKAZS', 120, 5, 4), # Segmentkopf
	                    _additional_data = ['1', '1', ['360', 'J', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKDMS', 121, 2, 4), # Segmentkopf
	                    _additional_data = ['3', '0', '2048'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKDMS', 122, 3, 4), # Segmentkopf
	                    _additional_data = ['3', '0', '2048'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKDMS', 123, 4, 4), # Segmentkopf
	                    _additional_data = ['3', '0', '2048'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKIFS', 124, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKIFS', 125, 4, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKIFS', 126, 5, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIKIFS', 127, 6, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIMTAS', 128, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIMTAS', 129, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIMTFS', 130, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIMTRS', 131, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', 'N'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIMTRS', 132, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HINEAS', 133, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', ['1', '2', '3', '4']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HINEZS', 134, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'N', '4', 'N', 'N', None, None, 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWFOS', 135, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', '4', 'N', 'N', 'N', None, None, None, 'MAKT', 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWPOS', 136, 5, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['0', 'N', '4', 'N', 'N', None, None, None, '9999999,99', 'EUR', 'STOP;STLI;LMTO;MAKT;OCOO;TRST', 'BUYI;SELL;AUCT;CONT;ALNO;DIHA', 'GDAY;GTMO;GTHD;GTCA;IOCA;OPEN;CLOS;FIKI', 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWSDS', 137, 5, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['J', 'A;Inland DAX', 'B;Inland Sonstige', 'C;Ausland Europa', 'D;Ausland Sonstige']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIFPOS', 138, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', '4', 'N', 'N', None, None, 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPAES', 139, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIPPDS', 140, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['1', 'Telekom', 'Xtra-Card', 'N', None, None, '15;30;50', '2', 'Vodafone', 'CallYa', 'N', None, None, '15;25;50', '3', 'E-Plus', 'Free and easy', 'N', None, None, '15;20;30', '4', 'O2', 'Loop', 'N', None, None, '15;20;30', '5', 'congstar', 'congstar', 'N', None, None, '15;30;50', '6', 'blau', 'blau', 'N', None, None, '15;20;30', '8', 'o.tel.o', 'o.tel.o', 'N', None, None, '9;19;29', '9', 'SIM Guthaben', 'SIM Guthaben', 'N', None, None, '15;30;50']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HISALS', 141, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HISALS', 142, 4, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HISALS', 143, 5, 4), # Segmentkopf
	                    _additional_data = ['1', '1'],
	                ),
	                fints.segments.accounts.HISPAS1( # SEPA-Kontoverbindung anfordern, Parameter, version 1
	                    header = fints.formals.SegmentHeader('HISPAS', 144, 1, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.GetSEPAAccountParameter1( # Parameter SEPA-Kontoverbindung anfordern
	                            single_account_query_allowed = True, # Einzelkontenabruf erlaubt
	                            national_account_allowed = False, # Nationale Kontoverbindung erlaubt
	                            structured_purpose_allowed = False, # Strukturierter Verwendungszweck erlaubt
	                            supported_sepa_formats = [ # Unterstützte SEPA-Datenformate
	                                    'sepade.pain.001.001.02.xsd', # Unterstützte SEPA-Datenformate
	                                    'sepade.pain.001.002.02.xsd', # Unterstützte SEPA-Datenformate
	                                    'sepade.pain.001.002.03.xsd', # Unterstützte SEPA-Datenformate
	                                    'sepade.pain.008.002.02.xsd', # Unterstützte SEPA-Datenformate
	                                    'urn:iso:std:iso:20022:tech:xsd:pain.001.003.03', # Unterstützte SEPA-Datenformate
	                                    'urn:iso:std:iso:20022:tech:xsd:pain.008.003.02', # Unterstützte SEPA-Datenformate
	                                    'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03', # Unterstützte SEPA-Datenformate
	                                    'urn:iso:std:iso:20022:tech:xsd:pain.008.001.02', # Unterstützte SEPA-Datenformate
	                                ],
	                        ),
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HISPAS', 145, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'N', 'N', 'N', 'sepade.pain.001.001.02.xsd', 'sepade.pain.001.002.02.xsd', 'sepade.pain.001.002.03.xsd', 'sepade.pain.008.002.02.xsd', 'urn:iso:std:iso:20022:tech:xsd:pain.001.003.03', 'urn:iso:std:iso:20022:tech:xsd:pain.008.003.02', 'urn:iso:std:iso:20022:tech:xsd:pain.001.001.03', 'urn:iso:std:iso:20022:tech:xsd:pain.008.001.02']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HITABS', 146, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HITABS', 147, 3, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HITABS', 148, 4, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HITAUS', 149, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'N', 'J']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HITAZS', 150, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HITAZS', 151, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HITMLS', 152, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HITSYS', 153, 1, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWDUS', 154, 4, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '999'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWFPS', 155, 2, 4), # Segmentkopf
	                    _additional_data = ['3', '1', ['RENTEN', 'INVESTMENTFONDS', 'GENUSSSCHEINE', 'SPARBRIEFE', 'UNTERNEHMENSANLEIHEN', 'EMERGING MARKET ANLEIHEN', 'STRUKTURIERTE ANLEIHEN', 'ZERTIFIKATE', 'AKTIEN', 'OPTIONSSCHEINE', 'ALLE ANGEBOTE EIGENES INSTITUT', 'ALLE ANGEBOTE UEBERGEORD. INSTITUTE']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWOAS', 156, 2, 4), # Segmentkopf
	                    _additional_data = ['1', '1', ['J', 'STOP;SLOS;LMTO;MAKT', 'J', 'J', 'GDAY;GTMO;GTHD', 'J', '1', 'N', 'N', 'N', '9999999,99', 'EUR']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWOAS', 157, 4, 4), # Segmentkopf
	                    _additional_data = ['1', '1', '1', ['J', 'STOP;STLI;LMTO;MAKT;OCOO;TRST', 'J', 'J', 'J', 'J', 'J', 'GDAY;GTMO;GTHD', 'J', '1', 'N', 'N', 'N', '9999999,99', 'EUR']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWPDS', 158, 3, 4), # Segmentkopf
	                    _additional_data = ['3', '1', 'J'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWPDS', 159, 5, 4), # Segmentkopf
	                    _additional_data = ['1', '1', ['J', 'N', 'N']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWPKS', 160, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '0'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWPRS', 161, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', ['J', 'J', 'N', 'N', None, 'Aktien', 'Festverzinsliche Wertpapiere', 'Fonds', 'Fremdwährungsanleihen', 'Genussscheine', 'Indexzertifikate', 'Optionsscheine', 'Wandel- und Optionsanleihen cum']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWPSS', 162, 1, 4), # Segmentkopf
	                    _additional_data = ['3', '1', 'J'],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWSOS', 163, 4, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['J', 'J', '90', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']],
	                ),
	                fints.segments.base.FinTS3Segment(
	                    header = fints.formals.SegmentHeader('HIWSOS', 164, 5, 4), # Segmentkopf
	                    _additional_data = ['3', '1', '1', ['J', 'J', '90', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17']],
	                ),
	                fints.segments.auth.HITANS1(
	                    header = fints.formals.SegmentHeader('HITANS', 165, 1, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.ParameterTwostepTAN1(
	                            onestep_method_allowed = True,
	                            multiple_tasks_allowed = False,
	                            task_hash_algorithm = fints.formals.TaskHashAlgorithm.NONE, # Auftrags-Hashwertverfahren: Auftrags-Hashwert nicht unterstützt
	                            security_profile_bank_signature = '0',
	                            twostep_parameters = [
	                                        fints.formals.TwoStepParameters1(
	                                            security_function = '920', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'smsTAN', # Technische Identifikation TAN-Verfahren
	                                            name = 'smsTAN', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_delayed_allowed = True, # TAN zeitversetzt/dialogübergreifend erlaubt
	                                        ),
	                                        fints.formals.TwoStepParameters1(
	                                            security_function = '900', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'iTAN', # Technische Identifikation TAN-Verfahren
	                                            name = 'iTAN', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_delayed_allowed = True, # TAN zeitversetzt/dialogübergreifend erlaubt
	                                        ),
	                                ],
	                        ),
	                ),
	                fints.segments.auth.HITANS3(
	                    header = fints.formals.SegmentHeader('HITANS', 166, 3, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.ParameterTwostepTAN3(
	                            onestep_method_allowed = True,
	                            multiple_tasks_allowed = False,
	                            task_hash_algorithm = fints.formals.TaskHashAlgorithm.NONE, # Auftrags-Hashwertverfahren: Auftrags-Hashwert nicht unterstützt
	                            twostep_parameters = [
	                                        fints.formals.TwoStepParameters3(
	                                            security_function = '910', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'HHD1.3.0', # Technische Identifikation TAN-Verfahren
	                                            name = 'chipTAN manuell', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            tan_list_number_required = fints.formals.TANListNumberRequired.NO, # TAN-Listennummer erforderlich: Nein
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_value_required = False, # Challenge-Betrag erforderlich
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            supported_media_number = 1, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters3(
	                                            security_function = '911', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'HHD1.3.2OPT', # Technische Identifikation TAN-Verfahren
	                                            name = 'chipTAN optisch', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            tan_list_number_required = fints.formals.TANListNumberRequired.NO, # TAN-Listennummer erforderlich: Nein
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_value_required = False, # Challenge-Betrag erforderlich
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            supported_media_number = 1, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters3(
	                                            security_function = '912', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'HHD1.3.2USB', # Technische Identifikation TAN-Verfahren
	                                            name = 'chipTAN-USB', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            tan_list_number_required = fints.formals.TANListNumberRequired.NO, # TAN-Listennummer erforderlich: Nein
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_value_required = False, # Challenge-Betrag erforderlich
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            supported_media_number = 1, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters3(
	                                            security_function = '913', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'Q1S', # Technische Identifikation TAN-Verfahren
	                                            name = 'chipTAN-QR', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            tan_list_number_required = fints.formals.TANListNumberRequired.NO, # TAN-Listennummer erforderlich: Nein
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_value_required = False, # Challenge-Betrag erforderlich
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            supported_media_number = 1, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters3(
	                                            security_function = '920', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'smsTAN', # Technische Identifikation TAN-Verfahren
	                                            name = 'smsTAN', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            tan_list_number_required = fints.formals.TANListNumberRequired.NO, # TAN-Listennummer erforderlich: Nein
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_value_required = False, # Challenge-Betrag erforderlich
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums muss angegeben werden
	                                            supported_media_number = 5, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters3(
	                                            security_function = '921', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'TAN2go', # Technische Identifikation TAN-Verfahren
	                                            name = 'TAN2go', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            tan_list_number_required = fints.formals.TANListNumberRequired.NO, # TAN-Listennummer erforderlich: Nein
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_value_required = False, # Challenge-Betrag erforderlich
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums muss angegeben werden
	                                            supported_media_number = 2, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters3(
	                                            security_function = '900', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'iTAN', # Technische Identifikation TAN-Verfahren
	                                            name = 'iTAN', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            tan_list_number_required = fints.formals.TANListNumberRequired.NO, # TAN-Listennummer erforderlich: Nein
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_value_required = False, # Challenge-Betrag erforderlich
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            supported_media_number = 0, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                ],
	                        ),
	                ),
	                fints.segments.auth.HITANS6(
	                    header = fints.formals.SegmentHeader('HITANS', 167, 6, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.AUTH, # Sicherheitsklasse: Sicherheitsdienst 'Authentikation'
	                    parameter = fints.formals.ParameterTwostepTAN6(
	                            onestep_method_allowed = True,
	                            multiple_tasks_allowed = False,
	                            task_hash_algorithm = fints.formals.TaskHashAlgorithm.NONE, # Auftrags-Hashwertverfahren: Auftrags-Hashwert nicht unterstützt
	                            twostep_parameters = [
	                                        fints.formals.TwoStepParameters6(
	                                            security_function = '910', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'HHD1.3.0', # Technische Identifikation TAN-Verfahren
	                                            zka_id = None, # ZKA TAN-Verfahren
	                                            zka_version = None, # Version ZKA TAN-Verfahren
	                                            name = 'chipTAN manuell', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            sms_charge_account_required = fints.formals.SMSChargeAccountRequired.MUST_NOT, # SMS-Abbuchungskonto erforderlich: SMS-Abbuchungskonto darf nicht angegeben werden
	                                            principal_account_required = fints.formals.PrincipalAccountRequired.MUST_NOT, # Auftraggeberkonto erforderlich: Auftraggeberkonto darf nicht angegeben werden
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_structured = False, # Challenge strukturiert
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            response_hhd_uc_required = False, # Antwort HHD_UC erforderlich
	                                            supported_media_number = 1, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters6(
	                                            security_function = '911', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'HHD1.3.2OPT', # Technische Identifikation TAN-Verfahren
	                                            zka_id = 'HHDOPT1', # ZKA TAN-Verfahren
	                                            zka_version = '1.3.2', # Version ZKA TAN-Verfahren
	                                            name = 'chipTAN optisch', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            sms_charge_account_required = fints.formals.SMSChargeAccountRequired.MUST_NOT, # SMS-Abbuchungskonto erforderlich: SMS-Abbuchungskonto darf nicht angegeben werden
	                                            principal_account_required = fints.formals.PrincipalAccountRequired.MUST_NOT, # Auftraggeberkonto erforderlich: Auftraggeberkonto darf nicht angegeben werden
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_structured = False, # Challenge strukturiert
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            response_hhd_uc_required = False, # Antwort HHD_UC erforderlich
	                                            supported_media_number = 1, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters6(
	                                            security_function = '912', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'HHD1.3.2USB', # Technische Identifikation TAN-Verfahren
	                                            zka_id = 'HHDUSB1', # ZKA TAN-Verfahren
	                                            zka_version = '1.3.2', # Version ZKA TAN-Verfahren
	                                            name = 'chipTAN-USB', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            sms_charge_account_required = fints.formals.SMSChargeAccountRequired.MUST_NOT, # SMS-Abbuchungskonto erforderlich: SMS-Abbuchungskonto darf nicht angegeben werden
	                                            principal_account_required = fints.formals.PrincipalAccountRequired.MUST_NOT, # Auftraggeberkonto erforderlich: Auftraggeberkonto darf nicht angegeben werden
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_structured = False, # Challenge strukturiert
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            response_hhd_uc_required = False, # Antwort HHD_UC erforderlich
	                                            supported_media_number = 1, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters6(
	                                            security_function = '913', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'Q1S', # Technische Identifikation TAN-Verfahren
	                                            zka_id = 'Secoder_UC', # ZKA TAN-Verfahren
	                                            zka_version = '1.2.0', # Version ZKA TAN-Verfahren
	                                            name = 'chipTAN-QR', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            sms_charge_account_required = fints.formals.SMSChargeAccountRequired.MUST_NOT, # SMS-Abbuchungskonto erforderlich: SMS-Abbuchungskonto darf nicht angegeben werden
	                                            principal_account_required = fints.formals.PrincipalAccountRequired.MUST_NOT, # Auftraggeberkonto erforderlich: Auftraggeberkonto darf nicht angegeben werden
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_structured = False, # Challenge strukturiert
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            response_hhd_uc_required = False, # Antwort HHD_UC erforderlich
	                                            supported_media_number = 1, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters6(
	                                            security_function = '920', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'smsTAN', # Technische Identifikation TAN-Verfahren
	                                            zka_id = None, # ZKA TAN-Verfahren
	                                            zka_version = None, # Version ZKA TAN-Verfahren
	                                            name = 'smsTAN', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            sms_charge_account_required = fints.formals.SMSChargeAccountRequired.MUST_NOT, # SMS-Abbuchungskonto erforderlich: SMS-Abbuchungskonto darf nicht angegeben werden
	                                            principal_account_required = fints.formals.PrincipalAccountRequired.MUST_NOT, # Auftraggeberkonto erforderlich: Auftraggeberkonto darf nicht angegeben werden
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_structured = False, # Challenge strukturiert
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums muss angegeben werden
	                                            response_hhd_uc_required = False, # Antwort HHD_UC erforderlich
	                                            supported_media_number = 5, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters6(
	                                            security_function = '921', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'TAN2go', # Technische Identifikation TAN-Verfahren
	                                            zka_id = None, # ZKA TAN-Verfahren
	                                            zka_version = None, # Version ZKA TAN-Verfahren
	                                            name = 'TAN2go', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            sms_charge_account_required = fints.formals.SMSChargeAccountRequired.MUST_NOT, # SMS-Abbuchungskonto erforderlich: SMS-Abbuchungskonto darf nicht angegeben werden
	                                            principal_account_required = fints.formals.PrincipalAccountRequired.MUST_NOT, # Auftraggeberkonto erforderlich: Auftraggeberkonto darf nicht angegeben werden
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_structured = False, # Challenge strukturiert
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums muss angegeben werden
	                                            response_hhd_uc_required = False, # Antwort HHD_UC erforderlich
	                                            supported_media_number = 2, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                        fints.formals.TwoStepParameters6(
	                                            security_function = '900', # Sicherheitsfunktion kodiert
	                                            tan_process = '2', # TAN-Prozess
	                                            tech_id = 'iTAN', # Technische Identifikation TAN-Verfahren
	                                            zka_id = None, # ZKA TAN-Verfahren
	                                            zka_version = None, # Version ZKA TAN-Verfahren
	                                            name = 'iTAN', # Name des Zwei-Schritt-Verfahrens
	                                            max_length_input = 6, # Maximale Länge des Eingabewertes im Zwei-Schritt-Verfahren
	                                            allowed_format = fints.formals.AllowedFormat.NUMERIC, # Erlaubtes Format im Zwei-Schritt-Verfahren: numerisch
	                                            text_return_value = 'TAN-Nummer', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            max_length_return_value = 3, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
	                                            multiple_tans_allowed = True, # Mehrfach-TAN erlaubt
	                                            tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.ALLOWED, # TAN Zeit- und Dialogbezug: TAN zeitversetzt / dialogübergreifend erlaubt
	                                            cancel_allowed = False, # Auftragsstorno erlaubt
	                                            sms_charge_account_required = fints.formals.SMSChargeAccountRequired.MUST_NOT, # SMS-Abbuchungskonto erforderlich: SMS-Abbuchungskonto darf nicht angegeben werden
	                                            principal_account_required = fints.formals.PrincipalAccountRequired.MUST_NOT, # Auftraggeberkonto erforderlich: Auftraggeberkonto darf nicht angegeben werden
	                                            challenge_class_required = False, # Challenge-Klasse erforderlich
	                                            challenge_structured = False, # Challenge strukturiert
	                                            initialization_mode = fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN, # Initialisierungsmodus: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
	                                            description_required = fints.formals.DescriptionRequired.MUST_NOT, # Bezeichnung des TAN-Medium erforderlich: Bezeichnung des TAN-Mediums darf nicht angegeben werden
	                                            response_hhd_uc_required = False, # Antwort HHD_UC erforderlich
	                                            supported_media_number = 0, # Anzahl unterstützter aktiver TAN-Medien
	                                        ),
	                                ],
	                        ),
	                ),
	                fints.segments.auth.HIPINS1( # PIN/TAN-spezifische Informationen, version 1
	                    header = fints.formals.SegmentHeader('HIPINS', 168, 1, 4), # Segmentkopf
	                    max_number_tasks = 1, # Maximale Anzahl Aufträge
	                    min_number_signatures = 1, # Anzahl Signaturen mindestens
	                    security_class = fints.formals.SecurityClass.NONE, # Sicherheitsklasse: Kein Sicherheitsdienst erforderlich
	                    parameter = fints.formals.ParameterPinTan( # Parameter PIN/TAN-spezifische Informationen
	                            min_pin_length = 5,
	                            max_pin_length = 38,
	                            max_tan_length = 6,
	                            user_id_field_text = 'USERID',
	                            customer_id_field_text = 'CUSTID',
	                            transaction_tans_required = [
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKAUB',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKBME',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKBSE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCAZ',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCCM',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCCS',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCDB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCDE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCDL',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCDN',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCDU',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCMB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCME',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCML',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCSA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCSB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCSE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCSL',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCSU',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKIPZ',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKIPS',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKPKB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKPKA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKPWE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKPWL',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKPWB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKPWA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCUB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKCUM',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKDMC',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKDME',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKDSB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKDSC',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKDSE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKDSW',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKEKA',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKEKP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKFGB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKFRD',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKKAZ',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKKDM',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKKIF',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKMTA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKMTF',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKMTR',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKNEA',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKNEZ',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWFO',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWPO',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKFPO',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWSD',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKPAE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKPPD',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKQTG',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKSAL',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKSPA',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKTAB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKTAU',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKTAZ',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKTML',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKTSY',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKUTA',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWDU',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWFP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWOA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWPD',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWPK',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWPR',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWPS',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKWSO',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'HKTAN',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBKD',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBKU',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBUM',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKFDA',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKPAE',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKPSA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKPSP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKTLA',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKTLF',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKTSP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKWAP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKALE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKALL',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKALN',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKANA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKANL',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBAZ',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBVA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBVB',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBVD',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBVK',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBVP',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBVR',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBVS',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFA',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFC',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFD',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFL',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFU',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDIH',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFS',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDDI',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFO',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFP',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDPF',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDFE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDEF',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKDOF',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKFAF',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKGBA',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKGBS',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKKAU',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKKKA',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKKKS',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKKKU',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKKSB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKKSP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKQUO',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKQUT',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKVVD',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKVVU',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKWDG',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKWGV',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKWLV',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKNZP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKFOP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKFPO',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKWOP',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKWVB',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKZDF',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKZDL',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKWOK',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKWDH',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKBVE',
	                                            tan_required = True,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKPTZ',
	                                            tan_required = False,
	                                        ),
	                                        fints.formals.TransactionTanRequired(
	                                            transaction = 'DKEEA',
	                                            tan_required = False,
	                                        ),
	                                ],
	                        ),
	                ),
	                fints.segments.dialog.HISYN4( # Synchronisierungsantwort
	                    header = fints.formals.SegmentHeader('HISYN', 169, 4, 5), # Segmentkopf
	                    system_id = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA', # Kundensystem-ID
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 170, 2), # Segmentkopf
	                    security_reference = '7613855', # Sicherheitskontrollreferenz
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 171, 1), # Segmentkopf
	        message_number = 1, # Nachrichtennummer
	    ),
	])

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

DEBUG:fints.connection:Sending >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	fints.message.FinTSCustomerMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 411, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '189206386060=898044428522BLDS=', # Dialog-ID
	        message_number = 2, # Nachrichtennummer
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 1, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                cid = None,
	                identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                date = datetime.date(2020, 2, 27),
	                time = datetime.time(17, 0, 41, 244880),
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '999', # Sicherheitsfunktion, kodiert
	                    security_reference = '4224698', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                            cid = None,
	                            identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                            date = datetime.date(2020, 2, 27),
	                            time = datetime.time(17, 0, 41, 244655),
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.dialog.HKEND1( # Dialogende, version 1
	                    header = fints.formals.SegmentHeader('HKEND', 3, 1), # Segmentkopf
	                    dialog_id = '189206386060=898044428522BLDS=', # Dialog-ID
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 4, 2), # Segmentkopf
	                    security_reference = '4224698', # Sicherheitskontrollreferenz
	                    user_defined_signature = fints.formals.UserDefinedSignature( # Benutzerdefinierte Signatur
	                            pin = '***',
	                        ),
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 5, 1), # Segmentkopf
	        message_number = 2, # Nachrichtennummer
	    ),
	])

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): banking-dkb.s-fints-pt-dkb.de:443
DEBUG:urllib3.connectionpool:https://banking-dkb.s-fints-pt-dkb.de:443 "POST /fints30 HTTP/1.1" 200 590
DEBUG:fints.connection:Received <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	fints.message.FinTSInstituteMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 430, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '189206386060=898044428522BLDS=', # Dialog-ID
	        message_number = 2, # Nachrichtennummer
	        reference_message = fints.formals.ReferenceMessage( # Bezugsnachricht
	                dialog_id = '189206386060=898044428522BLDS=',
	                message_number = 2,
	            ),
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 1, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                cid = None,
	                identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '999', # Sicherheitsfunktion, kodiert
	                    security_reference = '4224698', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                            cid = None,
	                            identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.dialog.HIRMG2( # Rückmeldungen zur Gesamtnachricht
	                    header = fints.formals.SegmentHeader('HIRMG', 3, 2), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '0010',
	                                    reference_element = None,
	                                    text = 'Nachricht entgegengenommen.',
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '0100',
	                                    reference_element = None,
	                                    text = 'Dialog beendet.',
	                                ),
	                        ],
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 4, 2), # Segmentkopf
	                    security_reference = '4224698', # Sicherheitskontrollreferenz
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 5, 1), # Segmentkopf
	        message_number = 2, # Nachrichtennummer
	    ),
	])

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

DEBUG:fints.connection:Sending >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	fints.message.FinTSCustomerMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 484, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '0', # Dialog-ID
	        message_number = 1, # Nachrichtennummer
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 2, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                cid = None,
	                identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                date = datetime.date(2020, 2, 27),
	                time = datetime.time(17, 0, 41, 432498),
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '921', # Sicherheitsfunktion, kodiert
	                    security_reference = '7634723', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                            cid = None,
	                            identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                            date = datetime.date(2020, 2, 27),
	                            time = datetime.time(17, 0, 41, 432243),
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.auth.HKIDN2( # Identifikation, version 2
	                    header = fints.formals.SegmentHeader('HKIDN', 3, 2), # Segmentkopf
	                    bank_identifier = fints.formals.BankIdentifier( # Kreditinstitutskennung
	                            country_identifier = '280',
	                            bank_code = '12030000',
	                        ),
	                    customer_id = '********', # Kunden-ID
	                    system_id = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA', # Kundensystem-ID
	                    system_id_status = fints.formals.SystemIDStatus.ID_NECESSARY, # Kundensystem-Status: Kundensystem-ID wird benötigt
	                ),
	                fints.segments.auth.HKVVB3( # Verarbeitungsvorbereitung, version 3
	                    header = fints.formals.SegmentHeader('HKVVB', 4, 3), # Segmentkopf
	                    bpd_version = 7, # BPD-Version
	                    upd_version = 0, # UPD-Version
	                    language = fints.formals.Language2.DE, # Dialogsprache: Deutsch, 'de', Subset Deutsch, Codeset 1 (Latin 1)
	                    product_name = 'DC333D745719C4BD6A6F9DB6A', # Produktbezeichnung
	                    product_version = '3.0.0', # Produktversion
	                ),
	                fints.segments.auth.HKTAN6( # Zwei-Schritt-TAN-Einreichung, version 6
	                    header = fints.formals.SegmentHeader('HKTAN', 5, 6), # Segmentkopf
	                    tan_process = '4', # TAN-Prozess
	                    segment_type = 'HKIDN', # Segmentkennung
	                    parameter_challenge_class = fints.formals.ParameterChallengeClass( # Parameter Challenge-Klasse
	                            parameters = [
	                                    None,
	                                    # 8 empty items skipped
	                                ],
	                        ),
	                    tan_medium_name = 'DUMMY', # Bezeichnung des TAN-Mediums
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 6, 2), # Segmentkopf
	                    security_reference = '7634723', # Sicherheitskontrollreferenz
	                    user_defined_signature = fints.formals.UserDefinedSignature( # Benutzerdefinierte Signatur
	                            pin = '***',
	                        ),
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 7, 1), # Segmentkopf
	        message_number = 1, # Nachrichtennummer
	    ),
	])

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): banking-dkb.s-fints-pt-dkb.de:443
DEBUG:urllib3.connectionpool:https://banking-dkb.s-fints-pt-dkb.de:443 "POST /fints30 HTTP/1.1" 200 874
DEBUG:fints.connection:Received <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	fints.message.FinTSInstituteMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 637, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '902111186314=635144428522BLDV=', # Dialog-ID
	        message_number = 1, # Nachrichtennummer
	        reference_message = fints.formals.ReferenceMessage( # Bezugsnachricht
	                dialog_id = '902111186314=635144428522BLDV=',
	                message_number = 1,
	            ),
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 2, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                cid = None,
	                identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '921', # Sicherheitsfunktion, kodiert
	                    security_reference = '7634723', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                            cid = None,
	                            identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.dialog.HIRMG2( # Rückmeldungen zur Gesamtnachricht
	                    header = fints.formals.SegmentHeader('HIRMG', 3, 2), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '9050',
	                                    reference_element = None,
	                                    text = 'Die Nachricht enthält Fehler.',
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '3905',
	                                    reference_element = None,
	                                    text = 'Es wurde keine Challenge erzeugt.',
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '9800',
	                                    reference_element = None,
	                                    text = 'Dialog abgebrochen',
	                                ),
	                        ],
	                ),
	                fints.segments.dialog.HIRMS2( # Rückmeldungen zu Segmenten
	                    header = fints.formals.SegmentHeader('HIRMS', 4, 2, 4), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '3920',
	                                    reference_element = None,
	                                    text = 'Zugelassene Zwei-Schritt-Verfahren für den Benutzer.',
	                                    parameters = [
	                                            '921',
	                                        ],
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '9955',
	                                    reference_element = None,
	                                    text = 'Auftrag nicht ausgeführt - Die Gerätebezeichnung ist unbekannt. (MBV07390100255)',
	                                ),
	                        ],
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 5, 2), # Segmentkopf
	                    security_reference = '7634723', # Sicherheitskontrollreferenz
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 6, 1), # Segmentkopf
	        message_number = 1, # Nachrichtennummer
	    ),
	])

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

DEBUG:fints.connection:Sending >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	fints.message.FinTSCustomerMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 384, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '902111186314=635144428522BLDV=', # Dialog-ID
	        message_number = 2, # Nachrichtennummer
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 2, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                cid = None,
	                identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                date = datetime.date(2020, 2, 27),
	                time = datetime.time(17, 0, 41, 647428),
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '921', # Sicherheitsfunktion, kodiert
	                    security_reference = '9431425', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                            cid = None,
	                            identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                            date = datetime.date(2020, 2, 27),
	                            time = datetime.time(17, 0, 41, 647099),
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.auth.HKTAB4( # TAN-Generator/Liste anzeigen Bestand, version 4
	                    header = fints.formals.SegmentHeader('HKTAB', 3, 4), # Segmentkopf
	                    tan_media_type = fints.formals.TANMediaType2.ALL, # TAN-Medium-Art: Alle
	                    tan_media_class = fints.formals.TANMediaClass3.ALL, # TAN-Medium-Klasse: Alle Medien
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 4, 2), # Segmentkopf
	                    security_reference = '9431425', # Sicherheitskontrollreferenz
	                    user_defined_signature = fints.formals.UserDefinedSignature( # Benutzerdefinierte Signatur
	                            pin = '***',
	                        ),
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 5, 1), # Segmentkopf
	        message_number = 2, # Nachrichtennummer
	    ),
	])

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): banking-dkb.s-fints-pt-dkb.de:443
DEBUG:urllib3.connectionpool:https://banking-dkb.s-fints-pt-dkb.de:443 "POST /fints30 HTTP/1.1" 200 804
DEBUG:fints.connection:Received <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	fints.message.FinTSInstituteMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 587, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '902111186314=635144428522BLDV=', # Dialog-ID
	        message_number = 2, # Nachrichtennummer
	        reference_message = fints.formals.ReferenceMessage( # Bezugsnachricht
	                dialog_id = '902111186314=635144428522BLDV=',
	                message_number = 2,
	            ),
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 2, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                cid = None,
	                identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '921', # Sicherheitsfunktion, kodiert
	                    security_reference = '9431425', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                            cid = None,
	                            identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.dialog.HIRMG2( # Rückmeldungen zur Gesamtnachricht
	                    header = fints.formals.SegmentHeader('HIRMG', 3, 2), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '9050',
	                                    reference_element = None,
	                                    text = 'Die Nachricht enthält Fehler.',
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '9800',
	                                    reference_element = None,
	                                    text = 'Dialog abgebrochen',
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '9010',
	                                    reference_element = None,
	                                    text = 'Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.',
	                                ),
	                        ],
	                ),
	                fints.segments.dialog.HIRMS2( # Rückmeldungen zu Segmenten
	                    header = fints.formals.SegmentHeader('HIRMS', 4, 2, 3), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '9010',
	                                    reference_element = None,
	                                    text = 'Auftrag wegen genereller Fehler in Auftragsnachricht nicht verarbeitet.',
	                                ),
	                        ],
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 5, 2), # Segmentkopf
	                    security_reference = '9431425', # Sicherheitskontrollreferenz
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 6, 1), # Segmentkopf
	        message_number = 2, # Nachrichtennummer
	    ),
	])

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

ERROR:fints.client:Dialog response: 9050 - Die Nachricht enthält Fehler.
ERROR:fints.client:Dialog response: 9800 - Dialog abgebrochen
ERROR:fints.client:Dialog response: 9010 - Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.
DEBUG:fints.connection:Sending >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	fints.message.FinTSCustomerMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 411, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '902111186314=635144428522BLDV=', # Dialog-ID
	        message_number = 3, # Nachrichtennummer
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 2, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                cid = None,
	                identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                date = datetime.date(2020, 2, 27),
	                time = datetime.time(17, 0, 41, 823745),
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '921', # Sicherheitsfunktion, kodiert
	                    security_reference = '5349258', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MS, # Message Sender
	                            cid = None,
	                            identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                            date = datetime.date(2020, 2, 27),
	                            time = datetime.time(17, 0, 41, 823424),
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.dialog.HKEND1( # Dialogende, version 1
	                    header = fints.formals.SegmentHeader('HKEND', 3, 1), # Segmentkopf
	                    dialog_id = '902111186314=635144428522BLDV=', # Dialog-ID
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 4, 2), # Segmentkopf
	                    security_reference = '5349258', # Sicherheitskontrollreferenz
	                    user_defined_signature = fints.formals.UserDefinedSignature( # Benutzerdefinierte Signatur
	                            pin = '***',
	                        ),
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 5, 1), # Segmentkopf
	        message_number = 3, # Nachrichtennummer
	    ),
	])

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): banking-dkb.s-fints-pt-dkb.de:443
DEBUG:urllib3.connectionpool:https://banking-dkb.s-fints-pt-dkb.de:443 "POST /fints30 HTTP/1.1" 200 590
DEBUG:fints.connection:Received <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	fints.message.FinTSInstituteMessage([
	    fints.segments.message.HNHBK3( # Nachrichtenkopf
	        header = fints.formals.SegmentHeader('HNHBK', 1, 3), # Segmentkopf
	        message_size = 430, # Größe der Nachricht (nach Verschlüsselung und Komprimierung)
	        hbci_version = 300, # HBCI-Version
	        dialog_id = '902111186314=635144428522BLDV=', # Dialog-ID
	        message_number = 3, # Nachrichtennummer
	        reference_message = fints.formals.ReferenceMessage( # Bezugsnachricht
	                dialog_id = '902111186314=635144428522BLDV=',
	                message_number = 3,
	            ),
	    ),
	    fints.segments.message.HNVSK3( # Verschlüsselungskopf, version 3
	        header = fints.formals.SegmentHeader('HNVSK', 998, 3), # Segmentkopf
	        security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                security_method_version = 2, # Version des Sicherheitsverfahrens
	            ),
	        security_function = '998', # Sicherheitsfunktion, kodiert
	        security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	        security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                cid = None,
	                identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	            ),
	        security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	            ),
	        encryption_algorithm = fints.formals.EncryptionAlgorithm( # Verschlüsselungsalgorithmus
	                usage_encryption = fints.formals.UsageEncryption.OSY, # Owner Symmetric
	                operation_mode = fints.formals.OperationMode.CBC, # Cipher Block Chaining
	                encryption_algorithm = fints.formals.EncryptionAlgorithmCoded.TWOKEY3DES, # 2-Key-Triple-DES
	                algorithm_parameter_value = b'\x00\x00\x00\x00\x00\x00\x00\x00',
	                algorithm_parameter_name = fints.formals.AlgorithmParameterName.KYE, # Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
	                algorithm_parameter_iv_name = fints.formals.AlgorithmParameterIVName.IVC, # Initialization value, clear text
	            ),
	        key_name = fints.formals.KeyName( # Schlüsselname
	                bank_identifier = fints.formals.BankIdentifier(
	                        country_identifier = '280',
	                        bank_code = '12030000',
	                    ),
	                user_id = '********',
	                key_type = fints.formals.KeyType.V, # Schlüsselart: Chiffrierschlüssel
	                key_number = 0,
	                key_version = 0,
	            ),
	        compression_function = fints.formals.CompressionFunction.NULL, # Komprimierungsfunktion: Keine Kompression
	    ),
	    fints.segments.message.HNVSD1( # Verschlüsselte Daten, version 1
	        header = fints.formals.SegmentHeader('HNVSD', 999, 1), # Segmentkopf
	        data = fints.types.SegmentSequence([ # Daten, verschlüsselt
	                fints.segments.message.HNSHK4( # Signaturkopf, version 4
	                    header = fints.formals.SegmentHeader('HNSHK', 2, 4), # Segmentkopf
	                    security_profile = fints.formals.SecurityProfile( # Sicherheitsprofil
	                            security_method = fints.formals.SecurityMethod.PIN, # Sicherheitsverfahren
	                            security_method_version = 1, # Version des Sicherheitsverfahrens
	                        ),
	                    security_function = '921', # Sicherheitsfunktion, kodiert
	                    security_reference = '5349258', # Sicherheitskontrollreferenz
	                    security_application_area = fints.formals.SecurityApplicationArea.SHM, # Bereich der Sicherheitsapplikation, kodiert: Signaturkopf und HBCI-Nutzdaten
	                    security_role = fints.formals.SecurityRole.ISS, # Rolle des Sicherheitslieferanten, kodiert: Erfasser, Erstsignatur
	                    security_identification_details = fints.formals.SecurityIdentificationDetails( # Sicherheitsidentifikation, Details
	                            identified_role = fints.formals.IdentifiedRole.MR, # Message Receiver
	                            cid = None,
	                            identifier = 'Xs7mCQ5Ph3ABAADaAVTn0FkXrAQA',
	                        ),
	                    security_reference_number = 1, # Sicherheitsreferenznummer
	                    security_datetime = fints.formals.SecurityDateTime( # Sicherheitsdatum und -uhrzeit
	                            date_time_type = fints.formals.DateTimeType.STS, # Sicherheitszeitstempel
	                        ),
	                    hash_algorithm = fints.formals.HashAlgorithm( # Hashalgorithmus
	                            usage_hash = '1',
	                            hash_algorithm = '999',
	                            algorithm_parameter_name = '1',
	                        ),
	                    signature_algorithm = fints.formals.SignatureAlgorithm( # Signaturalgorithmus
	                            usage_signature = '6',
	                            signature_algorithm = '10',
	                            operation_mode = '16',
	                        ),
	                    key_name = fints.formals.KeyName( # Schlüsselname
	                            bank_identifier = fints.formals.BankIdentifier(
	                                    country_identifier = '280',
	                                    bank_code = '12030000',
	                                ),
	                            user_id = '********',
	                            key_type = fints.formals.KeyType.S, # Schlüsselart: Signierschlüssel
	                            key_number = 0,
	                            key_version = 0,
	                        ),
	                ),
	                fints.segments.dialog.HIRMG2( # Rückmeldungen zur Gesamtnachricht
	                    header = fints.formals.SegmentHeader('HIRMG', 3, 2), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '0010',
	                                    reference_element = None,
	                                    text = 'Nachricht entgegengenommen.',
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '0100',
	                                    reference_element = None,
	                                    text = 'Dialog beendet.',
	                                ),
	                        ],
	                ),
	                fints.segments.message.HNSHA2( # Signaturabschluss, version 2
	                    header = fints.formals.SegmentHeader('HNSHA', 4, 2), # Segmentkopf
	                    security_reference = '5349258', # Sicherheitskontrollreferenz
	                ),
	            ]),
	    ),
	    fints.segments.message.HNHBS1( # Nachrichtenabschluss
	        header = fints.formals.SegmentHeader('HNHBS', 5, 1), # Segmentkopf
	        message_number = 3, # Nachrichtennummer
	    ),
	])

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

We need the name of the TAN medium, let's fetch them from the bank
Traceback (most recent call last):
  File "test_fints_lib.py", line 25, in <module>
    minimal_interactive_cli_bootstrap(f)
  File "./python-fints/fints/utils.py", line 321, in minimal_interactive_cli_bootstrap
    m = client.get_tan_media()
  File "./python-fints/fints/client.py", line 1368, in get_tan_media
    response = method(dialog)(seg, tan_seg=seg)
  File "./python-fints/fints/dialog.py", line 156, in send
    self.client.process_response_message(self, response, internal_send=internal_send)
  File "./python-fints/fints/client.py", line 230, in process_response_message
    self._process_response(dialog, None, response)
  File "./python-fints/fints/client.py", line 1284, in _process_response
    raise FinTSClientError("Error during dialog initialization, could not fetch BPD. Please check that you "
fints.exceptions.FinTSClientError: Error during dialog initialization, could not fetch BPD. Please check that you passed the correct bank identifier to the HBCI URL of the correct bank.


@Coffeeri
Copy link

I am having the same issue.

@henning77
Were you able to resolve this bug? I was also asking myself, how the "legitimations_id" should be passed.

@mircorudolph
Copy link

Any news on this? Sadly I am having the same error with DKB

@alp82
Copy link

alp82 commented Oct 4, 2020

I got the same error with Kasseler Sparkasse.

@Tigohofer
Copy link

Same issue with DKB since last week. Any updates here?

@raphaelm
Copy link
Owner

raphaelm commented Oct 6, 2020

I don't have a bank account with DKB, so I can't debug this.

The most suspicious thing in the log is the following line:

Auftrag nicht ausgeführt - Die Gerätebezeichnung ist unbekannt. (MBV07390100255)

Somehow, the whole thing fails while trying to fetch the list of available TAN media. You can try not using minimal_interactive_cli_bootstrap but copying its source code and manually passing a "correct" TAN media.

For debugging, you can also try if you can connect using Hibiscus, then do a FinTS trace there and look what TAN medium they are using.

@Tigohofer
Copy link

I have added response.text to the log output in client.py:

    if response.code == '9010':
        raise FinTSClientError("Error during dialog initialization, could not fetch BPD. Please check that you "
                               "passed the correct bank identifier to the HBCI URL of the correct bank."+response.text)

File "./kontoni.py", line 347, in loadTransactions
app.logger.info(f.get_tan_media())
File "/usr/local/lib/python3.6/dist-packages/fints/client.py", line 1360, in get_tan_media
response = dialog.send(seg)
File "/usr/local/lib/python3.6/dist-packages/fints/dialog.py", line 156, in send
self.client.process_response_message(self, response, internal_send=internal_send)
File "/usr/local/lib/python3.6/dist-packages/fints/client.py", line 230, in process_response_message
self._process_response(dialog, None, response)
File "/usr/local/lib/python3.6/dist-packages/fints/client.py", line 1285, in _process_response
"passed the correct bank identifier to the HBCI URL of the correct bank."+response.text)
fints.exceptions.FinTSClientError: Error during dialog initialization, could not fetch BPD. Please check that you passed the correct bank identifier to the HBCI URL of the correct bank.Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.

This is the same message mentioned in #93 But I dont know why this worked for me in master branch until last week...

@Tigohofer
Copy link

Hibiscus says:

07.10.2020 00:17:17] Dialog beendet
[07.10.2020 00:17:17] dialog end failed: java.io.IOException: Server returned HTTP response code: 403 for URL: https://banking-dkb.s-fints-pt-dkb.de:443
[07.10.2020 00:17:17] Dialog-Ende fehlgeschlagen
[07.10.2020 00:17:17] fetching BPD failed: java.io.IOException: Server returned HTTP response code: 403 for URL: https://banking-dkb.s-fints-pt-dkb.de:443 org.kapott.hbci.manager.HBCIInstitute.fetchBPD(HBCIInstitute.java:287)
[07.10.2020 00:17:17] Abholen der BPD fehlgeschlagen
[07.10.2020 00:17:17] FAILED! - maybe this institute does not support anonymous logins
[07.10.2020 00:17:17] we will nevertheless go on
[07.10.2020 00:17:17] can not check if requested parameters are supported
[07.10.2020 00:17:17] hole neue System-ID
[07.10.2020 00:17:17] Rufe neue System-ID ab
[07.10.2020 00:17:17] Erzeuge HBCI-Nachricht Synch
[07.10.2020 00:17:17] signiere HBCI-Nachricht
[07.10.2020 00:17:19] the job with the code HNSHK seems not to be allowed with PIN/TAN
[07.10.2020 00:17:19] the job with the code HKIDN seems not to be allowed with PIN/TAN
[07.10.2020 00:17:19] the job with the code HKVVB seems not to be allowed with PIN/TAN
[07.10.2020 00:17:19] the job with the code HKTAN seems not to be allowed with PIN/TAN
[07.10.2020 00:17:19] the job with the code HKSYN seems not to be allowed with PIN/TAN
[07.10.2020 00:17:19] Verschlüssele HBCI-Nachricht
[07.10.2020 00:17:19] Fehler beim Testen des Sicherheits-Mediums: Fehler beim Ermitteln einer neuen System-ID
[07.10.2020 00:17:19] Verbinde mit https://banking-dkb.s-fints-pt-dkb.de:443 und prüfe Zertifikat
[07.10.2020 00:17:19] Aufgetretene Fehlermeldungen:
[07.10.2020 00:17:19] -----------------------------
[07.10.2020 00:17:19] Versende HBCI-Nachricht
[07.10.2020 00:17:19] error while opening pin/tan passport; nested exception is:
[07.10.2020 00:17:19] Fehler beim Erzeugen eines HBCIHandler Objektes
[07.10.2020 00:17:19] Warte auf Antwortdaten
[07.10.2020 00:17:19] Fehler beim Erzeugen eines HBCIHandler Objektes
[07.10.2020 00:17:19] Fehler beim Registrieren der Nutzerdaten
[07.10.2020 00:17:19] Warte auf Antwortdaten
[07.10.2020 00:17:19] Fehler beim Ermitteln einer neuen System-ID
[07.10.2020 00:17:19] Fehler beim Ermitteln einer neuen System-ID
[07.10.2020 00:17:19] Fehler beim Empfangen der Daten vom HBCI-Server
[07.10.2020 00:17:19] -----------------------------
[07.10.2020 00:17:19] Server returned HTTP response code: 403 for URL: https://banking-dkb.s-fints-pt-dkb.de:443
[07.10.2020 00:17:19] Server returned HTTP response code: 403 for URL: https://banking-dkb.s-fints-pt-dkb.de:443
[07.10.2020 00:17:19] closing pin/tan passport
[07.10.2020 00:17:19] pin/tan passport closed

@de-graeuler
Copy link

I had the very same issue with DKB. Since yesterdays "Fix for Postbank issue" / v3.0.1, the issue is solved for me.
I just upgraded running pip3 install fints -U and the sample code from the docs worked.

@Coffeeri
Copy link

I just upgraded running pip3 install fints -U and the sample code from the docs worked.

The sample codes from the docs do not work for me. Which sample did you try?
For example this one: https://python-fints.readthedocs.io/en/latest/trouble.html

@de-graeuler
Copy link

de-graeuler commented Jan 13, 2021

Which sample did you try?

I tried the example script from the troubleshooting page you linked. It was a bit tricky to find out which authentication information to provide, but it worked. For my bank I had to set an additional customer / legitimation ID like this:

client_args = (
    'REPLACEME',  # BLZ
    'REPLACEME',  # USER
    getpass.getpass('PIN: '),
    'REPLACEME',  # ENDPOINT 
    'REPLACEME'  # Customer / Legitimation ID
)

I found that id within the Service/HBCI and FinTS section of my online banking.

@Coffeeri
Copy link

For my bank I had to set an additional customer / legitimation ID like this [...]

I just tried this, the problem persists in my instance (DKB bank).

[...]
raise FinTSClientError("Error during dialog initialization, could not fetch BPD. Please check that you "
fints.exceptions.FinTSClientError: Error during dialog initialization, could not fetch BPD. Please check that you passed the correct bank identifier to the HBCI URL of the correct bank.

I also get the same error as @raphaelm stated

[...]
 fints.segments.dialog.HIRMS2( # Rückmeldungen zu Segmenten
	                    header = fints.formals.SegmentHeader('HIRMS', 4, 2, 4), # Segmentkopf
	                    responses = [ # Rückmeldung
	                                fints.formals.Response( # Rückmeldung
	                                    code = '3920',
	                                    reference_element = None,
	                                    text = 'Zugelassene Zwei-Schritt-Verfahren für den Benutzer.',
	                                    parameters = [
	                                            '921',
	                                        ],
	                                ),
	                                fints.formals.Response( # Rückmeldung
	                                    code = '9955',
	                                    reference_element = None,
	                                    text = 'Auftrag nicht ausgeführt - Die Gerätebezeichnung ist unbekannt. (MBV07390100255)',
	                                ),
	                        ],
	                ),
[...]

When it is fetching for the mechanism I get this list:

mechanisms = list(client.get_tan_mechanisms().items())
# RESULT:
[('921', fints.formals.TwoStepParameters6(security_function='921', tan_process='2',
                                          tech_id='TAN2go', zka_id=None,
                                          zka_version=None, name='TAN2go',
                                          max_length_input=6,
                                          allowed_format=fints.formals.AllowedFormat.NUMERIC,
                                          text_return_value='TAN-Nummer',
                                          max_length_return_value=3,
                                          multiple_tans_allowed=True,
                                          tan_time_dialog_association=fints.formals.TANTimeDialogAssociation.ALLOWED,
                                          cancel_allowed=False,
                                          sms_charge_account_required=fints.formals.SMSChargeAccountRequired.MUST_NOT,
                                          principal_account_required=fints.formals.PrincipalAccountRequired.MUST_NOT,
                                          challenge_class_required=False,
                                          challenge_structured=False,
                                          initialization_mode=fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN,
                                          description_required=fints.formals.DescriptionRequired.MUST,
                                          response_hhd_uc_required=False,
                                          supported_media_number=2))]

The exception is raised in minimal_interactive_cli_bootstrap through

        m = client.get_tan_media()

To be more specific in

# seg = fints.segments.auth.HKTAB4(header=fints.formals.SegmentHeader('HKTAB', 3, 4), tan_media_type=fints.formals.TANMediaType2.ALL, tan_media_class=fints.formals.TANMediaClass3.ALL)

 try:
     self._bootstrap_mode = True
     response = method(dialog)(seg)

Something seems of with the dialog_id - I am not quite sure.

ERROR:fints.client:Dialog response: 9050 - Die Nachricht enthält Fehler.
ERROR:fints.client:Dialog response: 9800 - Dialog abgebrochen
ERROR:fints.client:Dialog response: 9010 - Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.

@de-graeuler
Copy link

For my bank I had to set an additional customer / legitimation ID like this [...]

I just tried this, the problem persists in my instance (DKB bank).

I checked again. That error ("Error during dialog initialization, could not fetch BPD.") is reproducible, if I enter a wrong PIN. Also, the customer / legitimation id does not seem to be necessary, as it also works if I change / omit it. Beyond that, I don't feel capable to help you, sorry about that.

@de-graeuler
Copy link

Hey, I found something new: I just ran into this issue with the troubleshooting script, and solved it (partially).
The script seemed not to be able to complete the login process. So I checked, if Jamaica/Hibiscus were able to connect. That software asked for a TAN to authorize the login process, and in the DKB mobile TAN app it said, that the created connection would be invalidated after 90 days, and now the fints troubleshooting script works again.

So my assumption is, that the troubleshooting script (or fints itself) is not able to operate the DKB TAN based authorization process (correctly).

@memmaker
Copy link

memmaker commented Apr 7, 2022

I have the same issue with Consorsbank. The also have an App based authentication mechanism called "Secure Plus". It is strange though, that Jameica/Hibiscus can connect to Consorsbank without any trouble. Any chance, that we will get a fix for this? Since I am Python Dev myself, I would also be willing to look into this myself and provide a PR. But I would need some pointers on how to best debug this.

@henryk
Copy link
Contributor

henryk commented Apr 28, 2022

So, the core issue here is this interaction:

fints.segments.auth.HKTAN6( # Zwei-Schritt-TAN-Einreichung, version 6
    header = fints.formals.SegmentHeader('HKTAN', 5, 6), # Segmentkopf
    tan_process = '4', # TAN-Prozess
    segment_type = 'HKIDN', # Segmentkennung
    parameter_challenge_class = fints.formals.ParameterChallengeClass( # Parameter Challenge-Klasse
            parameters = [
                    None,
                    # 8 empty items skipped
                ],
        ),
    tan_medium_name = 'DUMMY', # Bezeichnung des TAN-Mediums
),

...

fints.segments.dialog.HIRMS2( # Rückmeldungen zu Segmenten
    header = fints.formals.SegmentHeader('HIRMS', 4, 2, 4), # Segmentkopf
    responses = [ # Rückmeldung
                fints.formals.Response( # Rückmeldung
                    code = '3920',
                    reference_element = None,
                    text = 'Zugelassene Zwei-Schritt-Verfahren für den Benutzer.',
                    parameters = [
                            '921',
                        ],
                ),
                fints.formals.Response( # Rückmeldung
                    code = '9955',
                    reference_element = None,
                    text = 'Auftrag nicht ausgeführt - Die Gerätebezeichnung ist unbekannt. (MBV07390100255)',
                ),
        ],
),

which is a problem with us sending a DUMMY HKTAN6 as part of dialog initialization, before sending HKTAB. The bank doesn't like it. Setting selected_tan_medium before get_tan_media() does work around this, but is kind of a problem if you don't already have the list of TAN media.

@stevstrong
Copy link

stevstrong commented Jun 13, 2022

I have the same problem with DKB, see: #121 (comment)

Setting selected_tan_medium before get_tan_media() does work around this, but is kind of a problem if you don't already have the list of TAN media.

@henryk - What do you mean by "setting selected_tan_medium before get_tab_media()" ? How exactly to do that?

I found that id within the Service/HBCI and FinTS section of my online banking.

@de-graeuler - I could not find this section in my online banking under Service.
Is this a separate section or part of another like Konto und Karten, Einstellungen, TAN-Verfahren ?

@JHthe4
Copy link

JHthe4 commented Apr 23, 2023

Check my comment under #121 and my PR in #146 for an explanation on how to hotfix this issue and where to find your TAN medium name in the DKB TAN2go app.

@RJC5
Copy link

RJC5 commented Apr 23, 2024

Check my comment under #121 and my PR in #146 for an explanation on how to hotfix this issue and where to find your TAN medium name in the DKB TAN2go app.

I sadly have the problem with and without your fix. Any Ideas?

@JHthe4
Copy link

JHthe4 commented Apr 24, 2024

I sadly have the problem with and without your fix. Any Ideas?

Are you sure that it's exactly the same problem you're seeing? Have you registered for a product key as described in the documentation? As far as I know the default key was removed, so this might be what you're seeing? Just a guess though.

@RJC5
Copy link

RJC5 commented Apr 25, 2024

I sadly have the problem with and without your fix. Any Ideas?

Are you sure that it's exactly the same problem you're seeing? Have you registered for a product key as described in the documentation? As far as I know the default key was removed, so this might be what you're seeing? Just a guess though.

yes I got a product key from ZKI. I get the same error for DKB. I also tried ING and Volksbank, allways get errors during minimal_interactive_cli_bootstrap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

13 participants