def _get_master_secret(self, passphrase, salt, time, backup_file=None, encrypt_master_secret=True):
"""Restore/generate master secret.
Restore from backup_file if such is provided, generate new otherwise.
Set backup_file=None for in memory master_secret.
"""
if not backup_file:
log.info('Master Secret Share not backed up to file')
return self._generate_master_secret(), time
if not os.path.exists(backup_file):
log.info('Master Secret backup file doesn\'t exists. Generate new.')
master_secret = self._generate_master_secret()
backup_master_secret(
master_secret, encrypt_master_secret, passphrase, salt, backup_file, time, self.rng)
return master_secret, time
log.info('Restore Master Secret Share from file')
return self._restore_master_secret(
backup_file,
encrypt_master_secret,
passphrase,
salt)
评论列表
文章目录