本文整理汇总了Python中Tardis.Util.loadKeys方法的典型用法代码示例。如果您正苦于以下问题:Python Util.loadKeys方法的具体用法?Python Util.loadKeys怎么用?Python Util.loadKeys使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tardis.Util
的用法示例。
在下文中一共展示了Util.loadKeys方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: moveKeys
# 需要导入模块: from Tardis import Util [as 别名]
# 或者: from Tardis.Util import loadKeys [as 别名]
def moveKeys(db, crypt):
try:
if args.keys is None:
logger.error("Must specify key file for key manipulation")
return 1
clientId = db.getConfigValue("ClientID")
token = crypt.createToken()
(db, _) = getDB(crypt)
if args.extract:
(f, c) = db.getKeys()
if not (f and c):
raise Exception("Unable to retrieve keys from server. Aborting.")
Util.saveKeys(args.keys, clientId, f, c)
if args.deleteKeys:
db.setKeys(token, None, None)
elif args.insert:
(f, c) = Util.loadKeys(args.keys, clientId)
logger.info("Keys: F: %s C: %s", f, c)
if not (f and c):
raise Exception("Unable to retrieve keys from key database. Aborting.")
db.setKeys(token, f, c)
if args.deleteKeys:
Util.saveKeys(args.keys, clientId, None, None)
return 0
except Exception as e:
logger.error(e)
logger.exception(e)
return 1
示例2: changePassword
# 需要导入模块: from Tardis import Util [as 别名]
# 或者: from Tardis.Util import loadKeys [as 别名]
def changePassword(crypt, crypt2):
try:
(db, _) = getDB(crypt)
# Load the keys, and insert them into the crypt object, to decyrpt them
if args.keys:
(f, c) = Util.loadKeys(args.keys, db.getConfigValue("ClientID"))
else:
(f, c) = db.getKeys()
crypt.setKeys(f, c)
# Grab the keys from one crypt object.
# Need to do this because getKeys/setKeys assumes they're encrypted, and we need the raw
# versions
crypt2._filenameKey = crypt._filenameKey
crypt2._contentKey = crypt._contentKey
# Now get the encrypted versions
(f, c) = crypt2.getKeys()
if args.keys:
db.beginTransaction()
db.setToken(crypt2.createToken())
Util.saveKeys(args.keys, db.getConfigValue("ClientID"), f, c)
db.commit()
else:
db.setKeys(crypt2.createToken(), f, c)
db.close()
return 0
except Exception as e:
logger.error(e)
return 1
示例3: moveKeys
# 需要导入模块: from Tardis import Util [as 别名]
# 或者: from Tardis.Util import loadKeys [as 别名]
def moveKeys(db, crypt):
try:
if args.keys is None:
logger.error("Must specify key file for key manipulation")
return 1
clientId = db.getConfigValue('ClientID')
salt, vkey = db.getSrpValues()
#(db, _) = getDB(crypt)
if args.extract:
(f, c) = db.getKeys()
if not (f and c):
raise Exception("Unable to retrieve keys from server. Aborting.")
Util.saveKeys(args.keys, clientId, f, c)
if args.deleteKeys:
db.setKeys(salt, vkey, None, None)
elif args.insert:
(f, c) = Util.loadKeys(args.keys, clientId)
logger.info("Keys: F: %s C: %s", f, c)
if not (f and c):
raise Exception("Unable to retrieve keys from key database. Aborting.")
db.setKeys(salt, vkey, f, c)
if args.deleteKeys:
Util.saveKeys(args.keys, clientId, None, None)
return 0
except TardisDB.AuthenticationException as e:
logger.error("Authentication failed. Bad password")
return 1
except Exception as e:
logger.error(e)
if args.exceptions:
logger.exception(e)
return 1
示例4: changePassword
# 需要导入模块: from Tardis import Util [as 别名]
# 或者: from Tardis.Util import loadKeys [as 别名]
def changePassword(crypt, oldpw) :
try:
(db, _, crypt) = getDB(crypt, oldpw)
# Get the new password
try:
newpw = Util.getPassword(args.newpw, args.newpwf, args.newpwp, prompt="New Password for %s: " % (args.client),
allowNone=False, confirm=True, strength=True)
except Exception as e:
logger.critical(str(e))
if args.exceptions:
logger.exception(e)
return -1
crypt2 = TardisCrypto.TardisCrypto(newpw, args.client)
# Load the keys, and insert them into the crypt object, to decyrpt them
if args.keys:
(f, c) = Util.loadKeys(args.keys, db.getConfigValue('ClientID'))
# No need to check here, loadKeys() throws exception if nothing set.
else:
(f, c) = db.getKeys()
if f is None or c is None:
logger.critical("No keys loaded from database. Please specify --keys as appropriate")
raise Exception("No keys loaded")
crypt.setKeys(f, c)
# Grab the keys from one crypt object.
# Need to do this because getKeys/setKeys assumes they're encrypted, and we need the raw
# versions
crypt2._filenameKey = crypt._filenameKey
crypt2._contentKey = crypt._contentKey
# Now get the encrypted versions
(f, c) = crypt2.getKeys()
(salt, vkey) = srp.create_salted_verification_key(args.client, newpw)
if args.keys:
db.beginTransaction()
db.setSrpValues(salt, vkey)
Util.saveKeys(args.keys, db.getConfigValue('ClientID'), f, c)
db.commit()
else:
db.setKeys(salt, vkey, f, c)
return 0
except Exception as e:
logger.error(str(e))
if args.exceptions:
logger.exception(e)
return 1
示例5: main
# 需要导入模块: from Tardis import Util [as 别名]
# 或者: from Tardis.Util import loadKeys [as 别名]
def main():
global logger
parseArgs()
logger = Util.setupLogging(args.verbose)
# Commands which cannot be executed on remote databases
allowRemote = args.command not in ['create', 'upgrade']
db = None
crypt = None
cache = None
try:
confirm = args.command in ['setpass', 'create']
allowNone = args.command not in ['setpass', 'chpass']
try:
password = Util.getPassword(args.password, args.passwordfile, args.passwordprog, prompt="Password for %s: " % (args.client), allowNone=allowNone, confirm=confirm)
except Exception as e:
logger.critical(str(e))
if args.exceptions:
logger.exception(e)
return -1
if password:
crypt = TardisCrypto.TardisCrypto(password, args.client)
args.password = None
if args.command == 'create':
return createClient(crypt, password)
if args.command == 'setpass':
if not Util.checkPasswordStrength(password):
return -1
if not crypt:
logger.error("No password specified")
return -1
return setPassword(crypt, password)
if args.command == 'chpass':
return changePassword(crypt, password)
upgrade = (args.command == 'upgrade')
try:
(db, cache, crypt) = getDB(crypt, password, allowRemote=allowRemote, allowUpgrade=upgrade)
if crypt and args.command != 'keys':
if args.keys:
(f, c) = Util.loadKeys(args.keys, db.getConfigValue('ClientID'))
else:
(f, c) = db.getKeys()
crypt.setKeys(f, c)
except TardisDB.AuthenticationException as e:
logger.error("Authentication failed. Bad password")
if args.exceptions:
logger.exception(e)
sys.exit(1)
except Exception as e:
logger.critical("Unable to connect to database: %s", e)
if args.exceptions:
logger.exception(e)
sys.exit(1)
if args.command == 'keys':
return moveKeys(db, crypt)
elif args.command == 'list':
return listBSets(db, crypt, cache)
elif args.command == 'files':
return listFiles(db, crypt)
elif args.command == 'info':
return bsetInfo(db)
elif args.command == 'purge':
return purge(db, cache)
elif args.command == 'delete':
return deleteBsets(db, cache)
elif args.command == 'priority':
return setPriority(db)
elif args.command == 'rename':
return renameSet(db)
elif args.command == 'getconfig':
return getConfig(db)
elif args.command == 'setconfig':
return setConfig(db)
elif args.command == 'orphans':
return removeOrphans(db, cache)
elif args.command == 'upgrade':
return
except KeyboardInterrupt:
pass
except TardisDB.AuthenticationException as e:
logger.error("Authentication failed. Bad password")
sys.exit(1)
except Exception as e:
logger.error("Caught exception: %s", str(e))
if args.exceptions:
logger.exception(e)
finally:
if db:
db.close()