diff options
author | jaseg <git-bigdata-wsl-arch@jaseg.de> | 2020-03-09 22:10:46 +0100 |
---|---|---|
committer | jaseg <git-bigdata-wsl-arch@jaseg.de> | 2020-03-09 22:10:46 +0100 |
commit | 6880468862a498d359a0a6ed4bd9dd116a478fa9 (patch) | |
tree | 7534be5aea9b81eaac8f8d37ee2808ba628e6c63 /controller/fw/tools/crypto_test.c | |
parent | b0a523248766c1e001ea0f5d2e40c23b3178e629 (diff) | |
download | master-thesis-6880468862a498d359a0a6ed4bd9dd116a478fa9.tar.gz master-thesis-6880468862a498d359a0a6ed4bd9dd116a478fa9.tar.bz2 master-thesis-6880468862a498d359a0a6ed4bd9dd116a478fa9.zip |
WIP cryptographic design
Diffstat (limited to 'controller/fw/tools/crypto_test.c')
-rw-r--r-- | controller/fw/tools/crypto_test.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/controller/fw/tools/crypto_test.c b/controller/fw/tools/crypto_test.c new file mode 100644 index 0000000..8552117 --- /dev/null +++ b/controller/fw/tools/crypto_test.c @@ -0,0 +1,46 @@ + +#include <stdint.h> +#include <math.h> +#include <unistd.h> +#include <stdio.h> +#include <string.h> +#include <errno.h> +#include <stdlib.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <sys/fcntl.h> + +#include "crypto.h" + +void oob_trigger_activated(enum trigger_domain domain, int serial) { + printf("oob_trigger_activated(%d, %d)\n", domain, serial); + fflush(stdout); +} + +void print_usage() { + fprintf(stderr, "Usage: crypto_test [auth_key_hex]\n"); +} + +int main(int argc, char **argv) { + if (argc != 2) { + fprintf(stderr, "Error: Invalid arguments.\n"); + print_usage(); + return 1; + } + + uint8_t auth_key[16]; + + for (size_t i=0; argv[1][i+0] != '\0' && argv[1][i+1] != '\0'; i+= 2) { + char buf[3] = { argv[1][i+0], argv[1][i+1], 0}; + char *endptr; + auth_key[i/2] = strtoul(buf, &endptr, 16); + if (!endptr || *endptr != '\0') { + fprintf(stderr, "Invalid authkey\n"); + return 1; + } + } + + printf("rc=%d\n", oob_message_received(auth_key)); + + return 0; +} |