diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2008-11-13 16:31:13 +0000 |
---|---|---|
committer | Cedric BAIL <cedric.bail@free.fr> | 2008-11-13 16:31:13 +0000 |
commit | 33157dbd0a738c0ccd0130373542b0e7146e7db5 (patch) | |
tree | 2ba91cd7d2b43d9ff9557e4a55ecefd68ed8d685 /src/bin | |
parent | fe2f813990c0a2501df6aa21ea84ee252884f189 (diff) | |
download | eet-33157dbd0a738c0ccd0130373542b0e7146e7db5.tar.gz |
Add crypto support to eet.
GNUTLS support by Arnaud de Turckheim <quarium@gmail.com>.
SVN revision: 37603
Diffstat (limited to 'src/bin')
-rw-r--r-- | src/bin/eet_main.c | 52 |
1 files changed, 32 insertions, 20 deletions
diff --git a/src/bin/eet_main.c b/src/bin/eet_main.c index 76360f9..114fffe 100644 --- a/src/bin/eet_main.c +++ b/src/bin/eet_main.c @@ -41,7 +41,7 @@ do_eet_list(const char *file) } static void -do_eet_extract(const char *file, const char *key, const char *out) +do_eet_extract(const char *file, const char *key, const char *out, const char *crypto_key) { Eet_File *ef; void *data; @@ -54,7 +54,7 @@ do_eet_extract(const char *file, const char *key, const char *out) printf("cannot open for reading: %s\n", file); exit(-1); } - data = eet_read(ef, key, &size); + data = eet_read_cipher(ef, key, &size, crypto_key); if (!data) { printf("cannot read key %s\n", key); @@ -83,7 +83,7 @@ do_eet_decode_dump(void *data, const char *str) } static void -do_eet_decode(const char *file, const char *key, const char *out) +do_eet_decode(const char *file, const char *key, const char *out, const char *crypto_key) { Eet_File *ef; FILE *f; @@ -100,7 +100,7 @@ do_eet_decode(const char *file, const char *key, const char *out) printf("cannot open %s\n", out); exit(-1); } - if (!eet_data_dump(ef, key, do_eet_decode_dump, f)) + if (!eet_data_dump_cipher(ef, key, crypto_key, do_eet_decode_dump, f)) { printf("cannot write to %s\n", out); exit(-1); @@ -110,7 +110,7 @@ do_eet_decode(const char *file, const char *key, const char *out) } static void -do_eet_insert(const char *file, const char *key, const char *out, int compress) +do_eet_insert(const char *file, const char *key, const char *out, int compress, const char *crypto_key) { Eet_File *ef; void *data; @@ -146,13 +146,13 @@ do_eet_insert(const char *file, const char *key, const char *out, int compress) exit(-1); } fclose(f); - eet_write(ef, key, data, size, compress); + eet_write_cipher(ef, key, data, size, compress, crypto_key); free(data); eet_close(ef); } static void -do_eet_encode(const char *file, const char *key, const char *out, int compress) +do_eet_encode(const char *file, const char *key, const char *out, int compress, const char *crypto_key) { Eet_File *ef; char *text; @@ -189,7 +189,7 @@ do_eet_encode(const char *file, const char *key, const char *out, int compress) exit(-1); } fclose(f); - if (!eet_data_undump(ef, key, text, textlen, compress)) + if (!eet_data_undump_cipher(ef, key, crypto_key, text, textlen, compress)) { printf("cannot parse %s\n", out); exit(-1); @@ -265,14 +265,14 @@ main(int argc, char **argv) { help: printf("Usage:\n" - " eet -l FILE.EET list all keys in FILE.EET\n" - " eet -x FILE.EET KEY OUT-FILE extract data stored in KEY in FILE.EET and write to OUT-FILE\n" - " eet -d FILE.EET KEY OUT-FILE extract and decode data stored in KEY in FILE.EET and write to OUT-FILE\n" - " eet -i FILE.EET KEY IN-FILE COMPRESS insert data to KEY in FILE.EET from IN-FILE and if COMPRESS is 1, compress it\n" - " eet -e FILE.EET KEY IN-FILE COMPRESS insert and encode to KEY in FILE.EET from IN-FILE and if COMPRESS is 1, compress it\n" - " eet -r FILE.EET KEY remove KEY in FILE.EET\n" - " eet -c FILE.EET report and check the signature information of an eet file\n" - " eet -s FILE.EET PRIVATE_KEY PUBLIC_KEY sign FILE.EET with PRIVATE_KEY and attach PUBLIC_KEY as it's certificate\n" + " eet -l FILE.EET list all keys in FILE.EET\n" + " eet -x FILE.EET KEY OUT-FILE [CRYPTO_KEY] extract data stored in KEY in FILE.EET and write to OUT-FILE\n" + " eet -d FILE.EET KEY OUT-FILE [CRYPTO_KEY] extract and decode data stored in KEY in FILE.EET and write to OUT-FILE\n" + " eet -i FILE.EET KEY IN-FILE COMPRESS [CRYPTO_KEY] insert data to KEY in FILE.EET from IN-FILE and if COMPRESS is 1, compress it\n" + " eet -e FILE.EET KEY IN-FILE COMPRESS [CRYPTO_KEY] insert and encode to KEY in FILE.EET from IN-FILE and if COMPRESS is 1, compress it\n" + " eet -r FILE.EET KEY remove KEY in FILE.EET\n" + " eet -c FILE.EET report and check the signature information of an eet file\n" + " eet -s FILE.EET PRIVATE_KEY PUBLIC_KEY sign FILE.EET with PRIVATE_KEY and attach PUBLIC_KEY as it's certificate\n" ); eet_shutdown(); return -1; @@ -287,19 +287,31 @@ main(int argc, char **argv) } else if ((!strcmp(argv[1], "-x")) && (argc > 4)) { - do_eet_extract(argv[2], argv[3], argv[4]); + if (argc > 5) + do_eet_extract(argv[2], argv[3], argv[4], argv[5]); + else + do_eet_extract(argv[2], argv[3], argv[4], NULL); } else if ((!strcmp(argv[1], "-d")) && (argc > 4)) { - do_eet_decode(argv[2], argv[3], argv[4]); + if (argc > 5) + do_eet_decode(argv[2], argv[3], argv[4], argv[5]); + else + do_eet_decode(argv[2], argv[3], argv[4], NULL); } else if ((!strcmp(argv[1], "-i")) && (argc > 5)) { - do_eet_insert(argv[2], argv[3], argv[4], atoi(argv[5])); + if (argc > 6) + do_eet_insert(argv[2], argv[3], argv[4], atoi(argv[5]), argv[6]); + else + do_eet_insert(argv[2], argv[3], argv[4], atoi(argv[5]), NULL); } else if ((!strcmp(argv[1], "-e")) && (argc > 5)) { - do_eet_encode(argv[2], argv[3], argv[4], atoi(argv[5])); + if (argc > 6) + do_eet_encode(argv[2], argv[3], argv[4], atoi(argv[5]), argv[6]); + else + do_eet_encode(argv[2], argv[3], argv[4], atoi(argv[5]), NULL); } else if ((!strcmp(argv[1], "-r")) && (argc > 3)) { |