From 109f70c20871bd8e87ac5559ba8ead2b0a9a0527 Mon Sep 17 00:00:00 2001 From: angt Date: Fri, 11 Dec 2015 17:33:35 +0100 Subject: [PATCH] Secret key must be stored in upper-case hex now --- src/main.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main.c b/src/main.c index 8e6bbff..5ca83d4 100644 --- a/src/main.c +++ b/src/main.c @@ -544,13 +544,20 @@ static int gt_setup_secretkey (struct crypto_ctx *ctx, char *keyfile) return -1; } - if (fd_read_all(fd, ctx->skey, size)!=size) { - gt_log("unable to read secret key in `%s'\n", keyfile); - close(fd); + char key[2*size]; + size_t r = fd_read_all(fd, key, sizeof(key)); + + close(fd); + + if (r!=sizeof(key)) { + gt_log("unable to read secret key\n"); return -1; } - close(fd); + if (gt_fromhex(ctx->skey, size, key, sizeof(key))) { + gt_log("secret key is not valid\n"); + return -1; + } return 0; }