Check if new keys being set are the correct length, since longer or shorter keys yield inconsistant results
This commit is contained in:
committed by
Klas Lindfors
parent
d1308434aa
commit
61b0284c6d
+11
-7
@@ -1169,14 +1169,18 @@ int main(int argc, char *argv[]) {
|
|||||||
break;
|
break;
|
||||||
case action_arg_setMINUS_mgmMINUS_key:
|
case action_arg_setMINUS_mgmMINUS_key:
|
||||||
if(args_info.new_key_arg) {
|
if(args_info.new_key_arg) {
|
||||||
unsigned char new_key[KEY_LEN];
|
if(strlen(args_info.new_key_arg) == (KEY_LEN * 2)){
|
||||||
size_t new_key_len = sizeof(new_key);
|
unsigned char new_key[KEY_LEN];
|
||||||
if(ykpiv_hex_decode(args_info.new_key_arg, strlen(args_info.new_key_arg), new_key, &new_key_len) != YKPIV_OK) {
|
size_t new_key_len = sizeof(new_key);
|
||||||
ret = EXIT_FAILURE;
|
if(ykpiv_hex_decode(args_info.new_key_arg, strlen(args_info.new_key_arg), new_key, &new_key_len) != YKPIV_OK) {
|
||||||
} else if(ykpiv_set_mgmkey(state, new_key) != YKPIV_OK) {
|
ret = EXIT_FAILURE;
|
||||||
ret = EXIT_FAILURE;
|
} else if(ykpiv_set_mgmkey(state, new_key) != YKPIV_OK) {
|
||||||
|
ret = EXIT_FAILURE;
|
||||||
|
} else {
|
||||||
|
printf("Successfully set new management key.\n");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
printf("Successfully set new management key.\n");
|
ret = EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "The set-mgm-key action needs the new-key (-n) argument.\n");
|
fprintf(stderr, "The set-mgm-key action needs the new-key (-n) argument.\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user