zkey: Add INTEGRITY volume type

Keys of type PVSECRET-HMAC can be associated to volumes of volume type
'INTEGTRITY' or 'LUKS2'.

Volumes of type 'INTEGTRITY' are set up for standalone dm-integrity via
the 'integritysetup' tool. Volumes of type 'LUKS2' are setup for combined
encryption and integrity using the 'cryptsetup' tool using the integrity
option.

Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Finn Callies <fcallies@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Ingo Franzki
2024-03-11 11:39:53 +01:00
committed by Jan Höppner
parent d9eee82ab0
commit 0047fc162e
3 changed files with 92 additions and 43 deletions
+26 -14
View File
@@ -271,8 +271,10 @@ static struct util_opt opt_vec[] = {
.option = { "volume-type", required_argument, NULL, 't'},
.argument = "type",
.desc = "The type of the associated volume(s). Possible values "
"are 'plain' and 'luks2'. When this option is omitted, "
"the default is 'luks2'",
"for AES keys are 'plain' and 'luks2', and 'integrity' "
"and 'luks2' for HMAC keys. When this option is omitted, "
"the default is 'luks2' for AES keys and 'integrity' "
"for HMAC keys.",
.command = COMMAND_GENERATE,
},
{
@@ -491,8 +493,10 @@ static struct util_opt opt_vec[] = {
.option = { "volume-type", required_argument, NULL, 't'},
.argument = "type",
.desc = "The type of the associated volume(s). Possible values "
"are 'plain' and 'luks2'. When this option is omitted, "
"the default is 'luks2'",
"for AES keys are 'plain' and 'luks2', and 'integrity' "
"and 'luks2' for HMAC keys. When this option is omitted, "
"the default is 'luks2' for AES keys and 'integrity' "
"for HMAC keys.",
.command = COMMAND_IMPORT,
},
{
@@ -585,8 +589,9 @@ static struct util_opt opt_vec[] = {
.option = { "volume-type", required_argument, NULL, 't'},
.argument = "type",
.desc = "The type of the associated volume(s). Possible values "
"are 'plain' and 'luks2'. Use this option to list all "
"keys with the specified volumes type.",
"are 'plain', 'luks2', and 'integrity'. Use this "
"option to list all keys with the specified volumes "
"type.",
.command = COMMAND_LIST,
},
{
@@ -692,7 +697,8 @@ static struct util_opt opt_vec[] = {
.option = { "volume-type", required_argument, NULL, 't'},
.argument = "type",
.desc = "The type of the associated volume(s). Possible values "
"are 'plain' and 'luks2'",
"for AES keys are 'plain' and 'luks2', and 'integrity' "
"and 'luks2' for HMAC keys.",
.command = COMMAND_CHANGE,
},
{
@@ -1102,8 +1108,9 @@ static struct util_opt opt_vec[] = {
.option = { "volume-type", required_argument, NULL, 't'},
.argument = "type",
.desc = "The type of the associated volume(s). Possible values "
"are 'plain' and 'luks2'. Use this option to list all "
"keys with the specified volumes type.",
"are 'plain', 'luks2', and 'integrity'. Use this "
"option to list all keys with the specified volumes "
"type.",
.command = COMMAND_KMS " " COMMAND_KMS_LIST,
},
/***********************************************************/
@@ -1144,8 +1151,10 @@ static struct util_opt opt_vec[] = {
.option = { "volume-type", required_argument, NULL, 't'},
.argument = "type",
.desc = "The type of the associated volume(s). Possible values "
"are 'plain' and 'luks2'. Use this option to import "
"all keys with the specified volumes type.",
"for AES keys are 'plain' and 'luks2', and 'integrity' "
"and 'luks2' for HMAC keys. When this option is omitted, "
"the default is 'luks2' for AES keys and 'integrity' "
"for HMAC keys.",
.command = COMMAND_KMS " " COMMAND_KMS_IMPORT,
},
{
@@ -1194,7 +1203,8 @@ static struct util_opt opt_vec[] = {
.option = { "volume-type", required_argument, NULL, 't'},
.argument = "type",
.desc = "The type of the associated volume(s). Possible values "
"are 'plain' and 'luks2'. Use this option to refresh "
"for AES keys are 'plain' and 'luks2', and 'integrity' "
"and 'luks2' for HMAC keys. Use this option to refresh "
"all keys with the specified volumes type.",
.command = COMMAND_KMS " " COMMAND_KMS_REFRESH,
},
@@ -1327,8 +1337,10 @@ static struct util_opt opt_vec[] = {
.option = { "volume-type", required_argument, NULL, 't'},
.argument = "type",
.desc = "The type of the associated volume(s). Possible values "
"are 'plain' and 'luks2'. When this option is omitted, "
"the default is 'luks2'",
"for AES keys are 'plain' and 'luks2', and 'integrity' "
"and 'luks2' for HMAC keys. When this option is omitted, "
"the default is 'luks2' for AES keys and 'integrity' "
"for HMAC keys.",
.command = COMMAND_PVSECRETS " " COMMAND_PVSECRETS_IMPORT,
},
{