Check if new keys being set are the correct length, since longer or shorter keys yield inconsistant results

This commit is contained in:
Daniel Barnes
2014-10-27 20:12:14 -06:00
committed by Klas Lindfors
parent d1308434aa
commit 61b0284c6d
+4
View File
@@ -1169,6 +1169,7 @@ int main(int argc, char *argv[]) {
break;
case action_arg_setMINUS_mgmMINUS_key:
if(args_info.new_key_arg) {
if(strlen(args_info.new_key_arg) == (KEY_LEN * 2)){
unsigned char new_key[KEY_LEN];
size_t new_key_len = sizeof(new_key);
if(ykpiv_hex_decode(args_info.new_key_arg, strlen(args_info.new_key_arg), new_key, &new_key_len) != YKPIV_OK) {
@@ -1178,6 +1179,9 @@ int main(int argc, char *argv[]) {
} else {
printf("Successfully set new management key.\n");
}
} else {
ret = EXIT_FAILURE;
}
} else {
fprintf(stderr, "The set-mgm-key action needs the new-key (-n) argument.\n");
ret = EXIT_FAILURE;