-
Notifications
You must be signed in to change notification settings - Fork 97
Closed
Description
IMPLEMENTED_HKTAN_VERSIONS in client.py should include HKTAN2, maybe HKTAN4.
Reason: comdirect has distinct TAN mechanisms in HITANS2 and HITANS5, and it may be that a user is only allowed a single mechanism (via HIRMS 3920) which is not in HITANS5.
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 = 'UPD nicht mehr aktuell, aktuelle Version enthalten.',
),
fints.formals.Response( # Rückmeldung
code = '3050',
reference_element = None,
text = 'BPD nicht mehr aktuell, aktuelle Version enthalten.',
),
fints.formals.Response( # Rückmeldung
code = '0020',
reference_element = None,
text = 'Dialog initialisiert.',
),
fints.formals.Response( # Rückmeldung
code = '3920',
reference_element = None,
text = 'Verfügbare TAN-Verfahren: iTAN.',
parameters = [
'900',
],
),
],
),
fints.segments.auth.HITANS2(
header = fints.formals.SegmentHeader('HITANS', 29, 2, 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.ParameterTwostepTAN2(
onestep_method_allowed = False,
multiple_tasks_allowed = False,
task_hash_algorithm = fints.formals.TaskHashAlgorithm.NONE, # Auftrags-Hashwertverfahren: Auftrags-Hashwert nicht unterstützt
twostep_parameters = [
fints.formals.TwoStepParameters2(
security_function = '900', # Sicherheitsfunktion kodiert
tan_process = '2', # TAN-Prozess
tech_id = 'TechnicalId', # Technische Identifikation TAN-Verfahren
name = 'iTAN-Verfahren', # 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 = 'Freigabe durch lfd. iTAN-Nr.', # 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 = False, # Mehrfach-TAN erlaubt
tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.NOT_APPLICABLE, # TAN Zeit- und Dialogbezug: nicht zutreffend
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
),
fints.formals.TwoStepParameters2(
security_function = '901', # Sicherheitsfunktion kodiert
tan_process = '2', # TAN-Prozess
tech_id = 'TechnicalId901', # Technische Identifikation TAN-Verfahren
name = 'mobileTAN-Verfahren', # 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 = 'Freigabe durch mobileTAN', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
max_length_return_value = 1, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
multiple_tans_allowed = False, # Mehrfach-TAN erlaubt
tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.NOT_APPLICABLE, # TAN Zeit- und Dialogbezug: nicht zutreffend
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
),
],
),
),
fints.segments.auth.HITANS5(
header = fints.formals.SegmentHeader('HITANS', 30, 5, 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.ParameterTwostepTAN5(
onestep_method_allowed = False,
multiple_tasks_allowed = False,
task_hash_algorithm = fints.formals.TaskHashAlgorithm.NONE, # Auftrags-Hashwertverfahren: Auftrags-Hashwert nicht unterstützt
twostep_parameters = [
fints.formals.TwoStepParameters5(
security_function = '902', # Sicherheitsfunktion kodiert
tan_process = '2', # TAN-Prozess
tech_id = 'MS1.0.0', # Technische Identifikation TAN-Verfahren
zka_id = None, # ZKA TAN-Verfahren
zka_version = None, # Version ZKA TAN-Verfahren
name = 'photoTAN-Verfahren', # 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 = 'Freigabe durch photoTAN', # Text zur Belegung des Rückgabewertes im Zwei-Schritt-Verfahren
max_length_return_value = 1, # Maximale Länge des Rückgabewertes im Zwei-Schritt-Verfahren
number_of_supported_lists = 1, # Anzahl unterstützter aktiver TAN-Listen
multiple_tans_allowed = False, # Mehrfach-TAN erlaubt
tan_time_dialog_association = fints.formals.TANTimeDialogAssociation.NOT_APPLICABLE, # TAN Zeit- und Dialogbezug: nicht zutreffend
tan_list_number_required = fints.formals.TANListNumberRequired.NO, # TAN-Listennummer erforderlich: Nein
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
),
],
),
),
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels