From a21715d4159d7afcac38145c7151d1eae0c88cbb Mon Sep 17 00:00:00 2001 From: Patrick Fallberg Date: Sun, 8 Mar 2015 11:29:57 +0100 Subject: [PATCH] SHA204 personalizer updated to handle HMAC key better HMAC key is now configured and printed exactly as it is set in MyConfig.h. This makes it easier to move the key around. --- libraries/MySensors/MyConfig.h | 2 +- .../Sha204Personalizer/Sha204Personalizer.ino | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/libraries/MySensors/MyConfig.h b/libraries/MySensors/MyConfig.h index 4ee4ac1..fd6358c 100644 --- a/libraries/MySensors/MyConfig.h +++ b/libraries/MySensors/MyConfig.h @@ -22,7 +22,7 @@ #define MY_RANDOMSEED_PIN 7 // A7 - Pin used for random generation (do not connect anything to this) // Key to use for HMAC calculation in MySigningDriverAtsha204Soft (32 bytes) #define MY_HMAC_KEY 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 /********************************** diff --git a/libraries/MySensors/examples/Sha204Personalizer/Sha204Personalizer.ino b/libraries/MySensors/examples/Sha204Personalizer/Sha204Personalizer.ino index a39ceeb..066c834 100644 --- a/libraries/MySensors/examples/Sha204Personalizer/Sha204Personalizer.ino +++ b/libraries/MySensors/examples/Sha204Personalizer/Sha204Personalizer.ino @@ -57,12 +57,9 @@ #endif #ifdef USER_KEY_DATA -const uint8_t user_key_data[32] = { -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 -}; +#define MY_HMAC_KEY 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 +const uint8_t user_key_data[32] = {MY_HMAC_KEY}; #endif const int sha204Pin = ATSHA204_PIN; @@ -796,7 +793,7 @@ void setup() } #endif //not SKIP_UART_CONFIRMATION #else //LOCK_CONFIGURATION - Serial.println(F("Dry-run. Configuration not locked. Define LOCK_CONFIGURATION to lock for real.")); + Serial.println(F("Configuration not locked. Define LOCK_CONFIGURATION to lock for real.")); #endif } else @@ -833,6 +830,7 @@ void setup() Serial.println(F("Key is not randomized (configuration not locked):")); } #endif + Serial.print("#define MY_HMAC_KEY "); for (int i=0; i<32; i++) { Serial.print("0x"); @@ -842,7 +840,7 @@ void setup() } Serial.print(key[i], HEX); if (i < 31) Serial.print(','); - if (!((i+1) % 8)) Serial.println(); + if (i+1 == 16) Serial.print("\\\n "); } Serial.println(); @@ -937,7 +935,7 @@ void setup() } #endif //not SKIP_UART_CONFIRMATION #else //LOCK_DATA - Serial.println(F("Dry-run. Data not locked. Define LOCK_DATA to lock for real.")); + Serial.println(F("Data not locked. Define LOCK_DATA to lock for real.")); #endif } else