def get_helper_params_post(cls, param, user=None): helper_param = {} tok_type = "ocra" # take the keysize from the ocrasuite ocrasuite = param.get("ocrasuite", None) activationcode = param.get("activationcode", None) sharedsecret = param.get("sharedsecret", None) serial = param.get("serial", None) genkey = param.get("genkey", None) if activationcode is not None: # dont create a new key genkey = None serial = getRolloutToken4User(user=user, serial=serial, tok_type=tok_type) if serial is None: raise Exception('no token found for user: %r or serial: %r' % (user, serial)) helper_param['serial'] = serial helper_param['activationcode'] = \ normalize_activation_code(activationcode) if ocrasuite is None: if sharedsecret is not None or activationcode is not None: ocrasuite = getFromConfig("QrOcraDefaultSuite", 'OCRA-1:HOTP-SHA256-6:C-QA64') else: ocrasuite = getFromConfig("OcraDefaultSuite", 'OCRA-1:HOTP-SHA256-8:C-QN08') helper_param['ocrasuite'] = ocrasuite if genkey is not None: if ocrasuite.find('-SHA256'): key_size = 32 elif ocrasuite.find('-SHA512'): key_size = 64 else: key_size = 20 helper_param['key_size'] = key_size return helper_param