本文整理汇总了Python中pycryptsetup.CryptSetup.luksFormat方法的典型用法代码示例。如果您正苦于以下问题:Python CryptSetup.luksFormat方法的具体用法?Python CryptSetup.luksFormat怎么用?Python CryptSetup.luksFormat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pycryptsetup.CryptSetup
的用法示例。
在下文中一共展示了CryptSetup.luksFormat方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: luks_format
# 需要导入模块: from pycryptsetup import CryptSetup [as 别名]
# 或者: from pycryptsetup.CryptSetup import luksFormat [as 别名]
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)
示例2: luks_format
# 需要导入模块: from pycryptsetup import CryptSetup [as 别名]
# 或者: from pycryptsetup.CryptSetup import luksFormat [as 别名]
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)
示例3: luks_format
# 需要导入模块: from pycryptsetup import CryptSetup [as 别名]
# 或者: from pycryptsetup.CryptSetup import luksFormat [as 别名]
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