本文整理汇总了Python中pycryptsetup.CryptSetup类的典型用法代码示例。如果您正苦于以下问题:Python CryptSetup类的具体用法?Python CryptSetup怎么用?Python CryptSetup使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CryptSetup类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: luks_format
def luks_format(device, passphrase, cipher=None, key_size=None, key_file=None, min_entropy=0):
cs = CryptSetup(device=device, yesDialog=yesDialog, logFunc=logFunc, passwordDialog=passwordDialog)
kwargs = {}
cipherType, cipherMode = None, None
if cipher:
cparts = cipher.split("-")
cipherType = "".join(cparts[0:1])
cipherMode = "-".join(cparts[1:])
if cipherType:
kwargs["cipher"] = cipherType
if cipherMode:
kwargs["cipherMode"] = cipherMode
if key_size:
kwargs["keysize"] = key_size
if min_entropy > 0:
while get_current_entropy() < min_entropy:
time.sleep(1)
rc = cs.luksFormat(**kwargs)
if rc:
return rc
rc = cs.addKeyByVolumeKey(newPassphrase=passphrase)
return rc if rc else 0
示例2: luks_format
def luks_format(device,
passphrase=None,
cipher=None, key_size=None, key_file=None):
if not passphrase:
raise ValueError("luks_format requires passphrase")
cs = CryptSetup(device=device, yesDialog = askyes, logFunc = dolog, passwordDialog = askpassphrase)
#None is not considered as default value and pycryptsetup doesn't accept it
#so we need to filter out all Nones
kwargs = {}
# Split cipher designator to cipher name and cipher mode
cipherType = None
cipherMode = None
if cipher:
cparts = cipher.split("-")
cipherType = "".join(cparts[0:1])
cipherMode = "-".join(cparts[1:])
if cipherType: kwargs["cipher"] = cipherType
if cipherMode: kwargs["cipherMode"] = cipherMode
if key_size: kwargs["keysize"] = key_size
rc = cs.luksFormat(**kwargs)
if rc:
raise CryptoError("luks_format failed for '%s'" % device)
# activate first keyslot
cs.addKeyByVolumeKey(newPassphrase = passphrase)
if rc:
raise CryptoError("luks_add_key_by_volume_key failed for '%s'" % device)
示例3: luks_format
def luks_format(device,
passphrase=None, key_file=None,
cipher=None, key_size=None):
cs = CryptSetup(yesDialog = askyes, logFunc = dolog)
key_file_unlink = False
if passphrase:
key_file = cs.prepare_passphrase_file(passphrase)
key_file_unlink = True
elif key_file and os.path.isfile(key_file):
pass
else:
raise ValueError("luks_format requires either a passphrase or a key file")
#None is not considered as default value and pycryptsetup doesn't accept it
#so we need to filter out all Nones
kwargs = {}
kwargs["device"] = device
if cipher: kwargs["cipher"] = cipher
if key_file: kwargs["keyfile"] = key_file
if key_size: kwargs["keysize"] = key_size
rc = cs.luksFormat(**kwargs)
if key_file_unlink: os.unlink(key_file)
if rc:
raise CryptoError("luks_format failed for '%s'" % device)
示例4: luks_open
def luks_open(device, name, passphrase=None, key_file=None):
if not passphrase:
raise ValueError("luks_format requires passphrase")
cs = CryptSetup(device=device, yesDialog = askyes, logFunc = dolog, passwordDialog = askpassphrase)
rc = cs.activate(passphrase = passphrase, name = name)
if rc<0:
raise CryptoError("luks_open failed for %s (%s) with errno %d" % (device, name, rc))
示例5: luks_open
def luks_open(device, name, passphrase=None, key_file=None):
# pylint: disable=unused-argument
if not passphrase:
raise ValueError("luks_format requires passphrase")
cs = CryptSetup(device=device, yesDialog=yesDialog, logFunc=logFunc, passwordDialog=passwordDialog)
rc = cs.activate(passphrase=passphrase, name=name)
if rc<0:
raise CryptoError("luks_open failed for %s (%s) with errno %d" % (device, name, rc))
示例6: luks_add_key
def luks_add_key(device,
new_passphrase=None,
passphrase=None, key_file=None):
# pylint: disable=unused-argument
if not passphrase:
raise ValueError("luks_add_key requires passphrase")
cs = CryptSetup(device=device, yesDialog=yesDialog, logFunc=logFunc, passwordDialog=passwordDialog)
rc = cs.addKeyByPassphrase(passphrase=passphrase, newPassphrase=new_passphrase)
if rc<0:
raise CryptoError("luks add key failed with errcode %d" % (rc,))
示例7: luks_add_key
def luks_add_key(device,
new_passphrase=None,
passphrase=None, key_file=None):
if not passphrase:
raise ValueError("luks_add_key requires passphrase")
cs = CryptSetup(device=device, yesDialog = askyes, logFunc = dolog, passwordDialog = askpassphrase)
rc = cs.addPassphrase(passphrase = passphrase, newPassphrase = new_passphrase)
if rc<0:
raise CryptoError("luks add key failed with errcode %d" % (rc,))
示例8: luks_remove_key
def luks_remove_key(device,
del_passphrase=None,
passphrase=None, key_file=None):
if not passphrase:
raise ValueError("luks_remove_key requires passphrase")
cs = CryptSetup(device=device, yesDialog = askyes, logFunc = dolog, passwordDialog = askpassphrase)
rc = cs.removePassphrase(passphrase = passphrase)
if rc:
raise CryptoError("luks remove key failed with errcode %d" % (rc,))
示例9: luks_remove_key
def luks_remove_key(device,
del_passphrase=None,
passphrase=None, key_file=None):
# pylint: disable=unused-argument
if not passphrase:
raise ValueError("luks_remove_key requires passphrase")
cs = CryptSetup(device=device, yesDialog=yesDialog, logFunc=logFunc, passwordDialog=passwordDialog)
rc = cs.removePassphrase(passphrase = passphrase)
if rc:
raise CryptoError("luks remove key failed with errcode %d" % (rc,))
示例10: luks_open
def luks_open(device, name, passphrase=None, key_file=None):
cs = CryptSetup(yesDialog = askyes, logFunc = dolog)
key_file_unlink = False
if passphrase:
key_file = cs.prepare_passphrase_file(passphrase)
key_file_unlink = True
elif key_file and os.path.isfile(key_file):
pass
else:
raise ValueError("luks_open requires either a passphrase or a key file")
rc = cs.luksOpen(device = device, name = name, keyfile = key_file)
if key_file_unlink: os.unlink(key_file)
if rc:
raise CryptoError("luks_open failed for %s (%s)" % (device, name))
示例11: luks_uuid
def luks_uuid(device):
cs = CryptSetup(yesDialog = askyes, logFunc = dolog)
return cs.luksUUID(device).strip()
示例12: luks_status
def luks_status(name):
"""True means active, False means inactive (or non-existent)"""
cs = CryptSetup(yesDialog = askyes, logFunc = dolog)
return cs.luksStatus(name)!=0
示例13: luks_close
def luks_close(name):
cs = CryptSetup(yesDialog = askyes, logFunc = dolog)
rc = cs.luksClose(name)
if rc:
raise CryptoError("luks_close failed for %s" % name)
示例14: is_luks
def is_luks(device):
cs = CryptSetup(yesDialog = askyes, logFunc = dolog)
return cs.isLuks(device)
示例15: luks_status
def luks_status(name):
"""True means active, False means inactive (or non-existent)"""
cs = CryptSetup(name=name, yesDialog = askyes, logFunc = dolog, passwordDialog = askpassphrase)
return cs.status()