(params, password, iterations=0)
| 1082 | |
| 1083 | @staticmethod |
| 1084 | def change_master_password(params, password, iterations=0): # type: (KeeperParams, str, int) -> None |
| 1085 | iterations = max(iterations, params.iterations, constants.PBKDF2_ITERATIONS) |
| 1086 | auth_salt = os.urandom(16) |
| 1087 | auth_verifier = utils.create_auth_verifier(password, auth_salt, iterations) |
| 1088 | data_salt = os.urandom(16) |
| 1089 | encryption_params = utils.create_encryption_params(password, data_salt, iterations, params.data_key) |
| 1090 | rq = { |
| 1091 | 'command': 'change_master_password', |
| 1092 | 'auth_verifier': utils.base64_url_encode(auth_verifier), |
| 1093 | 'encryption_params': utils.base64_url_encode(encryption_params), |
| 1094 | } |
| 1095 | api.communicate(params, rq) |
| 1096 | params.password = password |
| 1097 | params.salt = auth_salt |
| 1098 | params.iterations = iterations |
| 1099 | |
| 1100 | @staticmethod |
| 1101 | def register_encrypted_data_key_for_device(params: KeeperParams): |
no outgoing calls
no test coverage detected