raise NotImplementedError("TAN-Process 1 not implemented")
if tan_process in ('1', '3', '4') and self.is_tan_media_required():
- if self.selected_tan_medium:
+ if self.selected_tan_medium is not None:
seg.tan_medium_name = self.selected_tan_medium
else:
- seg.tan_medium_name = 'DUMMY'
+ seg.tan_medium_name = ''
if tan_process == '4' and tan_mechanism.VERSION >= 6:
seg.segment_type = orig_seg.header.type
if tan_seg:
for resp in retval.responses(tan_seg):
- if resp.code == '0030':
+ if resp.code in ('0030', '3955'):
self.client.init_tan_response = NeedTANResponse(
None,
retval.find_segment_first('HITAN'),
'_continue_dialog_initialization',
- self.client.is_challenge_structured()
+ self.client.is_challenge_structured(),
+ resp.code == '3955',
)
self.need_init = False
return retval
choice = input("Choice: ").strip()
client.set_tan_mechanism(mechanisms[int(choice)][0])
- if client.is_tan_media_required() and not client.selected_tan_medium:
+ if client.selected_tan_medium is None and client.is_tan_media_required():
print("We need the name of the TAN medium, let's fetch them from the bank")
m = client.get_tan_media()
if len(m[1]) == 1: