summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2008-11-13 16:31:13 +0000
committerCedric BAIL <cedric.bail@free.fr>2008-11-13 16:31:13 +0000
commit33157dbd0a738c0ccd0130373542b0e7146e7db5 (patch)
tree2ba91cd7d2b43d9ff9557e4a55ecefd68ed8d685 /src/bin
parentfe2f813990c0a2501df6aa21ea84ee252884f189 (diff)
downloadeet-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.c52
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))
{