dm-crypt LUKS 实用程序'密码设置' 允许我们指定密钥文件代替密码。查看 cryptsetup 的代码,我明白如果密钥文件被指定,密码未使用。
我现在想使用 LUKS API 来实现这一点crypt_format
。但是,crypt_format
没有提供指定密钥文件的选项。稍后可以使用密钥文件添加新的密钥槽,但最初需要密码。
我不想使用密码。有什么办法可以实现吗?
答案1
阅读cryptsetup源代码,相关部分是这里和这里,看起来 cryptsetup 正在从密钥文件读取密钥(如果已设置)或从 stdin 读取。crypt_get_key似乎主要是读取文件到 DEFAULT_KEYFILE_SIZE_MAXKB,并进行大量额外处理,并且crypt_get_key_tty看起来很相似,所以我猜您可以读取该文件并将其内容用作密码。