RPi: Update messages for key generation

This was suggested by the forum user NiklasO.
This commit is contained in:
Marcelo Aquino
2016-10-19 15:36:17 -02:00
parent f31ec4b3ae
commit 95318d05db
+36 -18
View File
@@ -118,25 +118,28 @@ void print_usage()
" --set-aes-key Write an aes encryption key to the config file.\n"); " --set-aes-key Write an aes encryption key to the config file.\n");
} }
void print_soft_sign_hmac_key() void print_soft_sign_hmac_key(uint8_t *key_ptr = NULL)
{ {
uint8_t key[32]; uint8_t key[32];
if (key_ptr == NULL) {
hwReadConfigBlock(&key, reinterpret_cast<void*>EEPROM_SIGNING_SOFT_HMAC_KEY_ADDRESS, 32); hwReadConfigBlock(&key, reinterpret_cast<void*>EEPROM_SIGNING_SOFT_HMAC_KEY_ADDRESS, 32);
key_ptr = key;
}
printf("SOFT_HMAC_KEY | "); printf("SOFT_HMAC_KEY | ");
for (int i = 0; i < 32; i++) { for (int i = 0; i < 32; i++) {
printf("%02X", key[i]); printf("%02X", key_ptr[i]);
} }
printf("\n"); printf("\n\n");
printf("The next line is intended to be used in SecurityPersonalizer.ino:\n"); printf("The next line is intended to be used in SecurityPersonalizer.ino:\n");
printf("#define MY_SOFT_HMAC_KEY "); printf("#define MY_SOFT_HMAC_KEY ");
for (int i=0; i<32; i++) { for (int i=0; i<32; i++) {
printf("%#02X", key[i]); printf("%#02X", key_ptr[i]);
if (i < 31) printf(","); if (i < 31) printf(",");
} }
printf("\n"); printf("\n\n");
} }
void generate_soft_sign_hmac_key() void generate_soft_sign_hmac_key()
@@ -149,7 +152,10 @@ void generate_soft_sign_hmac_key()
while (hwMillis() - enter < (unsigned long)2); while (hwMillis() - enter < (unsigned long)2);
} }
printf("SOFT_HMAC_KEY | "); print_soft_sign_hmac_key(key);
printf("To use this key, run mysGateway with:\n"
" --set-soft-hmac-key=");
for (int i = 0; i < 32; i++) { for (int i = 0; i < 32; i++) {
printf("%02X", key[i]); printf("%02X", key[i]);
} }
@@ -184,25 +190,28 @@ void set_soft_sign_hmac_key(char *key_str)
} }
} }
void print_soft_sign_serial_key() void print_soft_sign_serial_key(uint8_t *key_ptr = NULL)
{ {
uint8_t key[9]; uint8_t key[9];
if (key_ptr == NULL) {
hwReadConfigBlock(&key, reinterpret_cast<void*>EEPROM_SIGNING_SOFT_SERIAL_ADDRESS, 9); hwReadConfigBlock(&key, reinterpret_cast<void*>EEPROM_SIGNING_SOFT_SERIAL_ADDRESS, 9);
key_ptr = key;
}
printf("SOFT_SERIAL | "); printf("SOFT_SERIAL | ");
for (int i = 0; i < 9; i++) { for (int i = 0; i < 9; i++) {
printf("%02X", key[i]); printf("%02X", key_ptr[i]);
} }
printf("\n"); printf("\n\n");
printf("The next line is intended to be used in SecurityPersonalizer.ino:\n"); printf("The next line is intended to be used in SecurityPersonalizer.ino:\n");
printf("#define MY_SOFT_SERIAL "); printf("#define MY_SOFT_SERIAL ");
for (int i=0; i<9; i++) { for (int i=0; i<9; i++) {
printf("%#02X", key[i]); printf("%#02X", key_ptr[i]);
if (i < 8) printf(","); if (i < 8) printf(",");
} }
printf("\n"); printf("\n\n");
} }
void generate_soft_sign_serial_key() void generate_soft_sign_serial_key()
@@ -215,7 +224,10 @@ void generate_soft_sign_serial_key()
while (hwMillis() - enter < (unsigned long)2); while (hwMillis() - enter < (unsigned long)2);
} }
printf("SOFT_SERIAL | "); print_soft_sign_serial_key(key);
printf("To use this key, run mysGateway with:\n"
" --set-soft-serial-key=");
for (int i = 0; i < 9; i++) { for (int i = 0; i < 9; i++) {
printf("%02X", key[i]); printf("%02X", key[i]);
} }
@@ -250,25 +262,28 @@ void set_soft_sign_serial_key(char *key_str)
} }
} }
void print_aes_key() void print_aes_key(uint8_t *key_ptr = NULL)
{ {
uint8_t key[16]; uint8_t key[16];
if (key_ptr == NULL) {
hwReadConfigBlock(&key, reinterpret_cast<void*>EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16); hwReadConfigBlock(&key, reinterpret_cast<void*>EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16);
key_ptr = key;
}
printf("AES_KEY | "); printf("AES_KEY | ");
for (int i = 0; i < 16; i++) { for (int i = 0; i < 16; i++) {
printf("%02X", key[i]); printf("%02X", key_ptr[i]);
} }
printf("\n"); printf("\n\n");
printf("The next line is intended to be used in SecurityPersonalizer.ino:\n"); printf("The next line is intended to be used in SecurityPersonalizer.ino:\n");
printf("#define MY_AES_KEY "); printf("#define MY_AES_KEY ");
for (int i=0; i<16; i++) { for (int i=0; i<16; i++) {
printf("%#02X", key[i]); printf("%#02X", key_ptr[i]);
if (i < 15) printf(","); if (i < 15) printf(",");
} }
printf("\n"); printf("\n\n");
} }
void generate_aes_key() void generate_aes_key()
@@ -281,7 +296,10 @@ void generate_aes_key()
while (hwMillis() - enter < (unsigned long)2); while (hwMillis() - enter < (unsigned long)2);
} }
printf("AES_KEY | "); print_aes_key(key);
printf("To use this key, run mysGateway with:\n"
" --set-aes-key=");
for (int i = 0; i < 16; i++) { for (int i = 0; i < 16; i++) {
printf("%02X", key[i]); printf("%02X", key[i]);
} }