diff options
author | Simon Josefsson <simon@josefsson.org> | 2007-02-13 20:58:50 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2007-02-13 20:58:50 +0000 |
commit | cca5967f5d4c7a2758b57622c950c764034601d2 (patch) | |
tree | 8c795b10f71950e65ed289ae83c855ee28f301fb /src | |
parent | 2ae44a7fb4b2c86671d76e524502acd669a7dbc5 (diff) | |
download | gnutls-cca5967f5d4c7a2758b57622c950c764034601d2.tar.gz |
Cleanup p12 printing.
Diffstat (limited to 'src')
-rw-r--r-- | src/certtool.c | 86 |
1 files changed, 23 insertions, 63 deletions
diff --git a/src/certtool.c b/src/certtool.c index 3381974281..3fb053bb3c 100644 --- a/src/certtool.c +++ b/src/certtool.c @@ -2262,12 +2262,7 @@ print_bag_data (gnutls_pkcs12_bag bag) count = gnutls_pkcs12_bag_get_count (bag); if (count < 0) - { - fprintf (stderr, "get_count: %s\n", gnutls_strerror (count)); - exit (1); - } - - + error (EXIT_FAILURE, 0, "get_count: %s", gnutls_strerror (count)); fprintf (outfile, "\tElements: %d\n", count); @@ -2345,79 +2340,54 @@ pkcs12_info (void) { gnutls_pkcs12 pkcs12; gnutls_pkcs12_bag bag; - int result, ret; + int result; size_t size; gnutls_datum data; const char *password; int index; - size = fread (buffer, 1, sizeof (buffer) - 1, infile); - buffer[size] = 0; + result = gnutls_pkcs12_init (&pkcs12); + if (result < 0) + error (EXIT_FAILURE, 0, "p12_init: %s", gnutls_strerror (result)); - data.data = buffer; + data.data = fread_file (infile, &size); data.size = size; + result = gnutls_pkcs12_import (pkcs12, &data, info.incert_format, 0); + free (data.data); + if (result < 0) + error (EXIT_FAILURE, 0, "p12_import: %s", gnutls_strerror (result)); + if (info.pass) password = info.pass; else password = get_pass (); - result = gnutls_pkcs12_init (&pkcs12); - if (result < 0) - { - fprintf (stderr, "p12_init: %s\n", gnutls_strerror (result)); - exit (1); - } - - result = gnutls_pkcs12_import (pkcs12, &data, info.incert_format, 0); - if (result < 0) - { - fprintf (stderr, "p12_import: %s\n", gnutls_strerror (result)); - exit (1); - } - result = gnutls_pkcs12_verify_mac (pkcs12, password); if (result < 0) - { - fprintf (stderr, "verify_mac: %s\n", gnutls_strerror (result)); - exit (1); - } - - + error (EXIT_FAILURE, 0, "verify_mac: %s", gnutls_strerror (result)); index = 0; - do + for (index = 0; ; index++) { result = gnutls_pkcs12_bag_init (&bag); if (result < 0) - { - fprintf (stderr, "bag_init: %s\n", gnutls_strerror (result)); - exit (1); - } + error (EXIT_FAILURE, 0, "bag_init: %s", gnutls_strerror (result)); - ret = gnutls_pkcs12_get_bag (pkcs12, index, bag); - if (ret < 0) - { - break; - } + result = gnutls_pkcs12_get_bag (pkcs12, index, bag); + if (result < 0) + break; result = gnutls_pkcs12_bag_get_count (bag); if (result < 0) - { - fprintf (stderr, "bag_init: %s\n", gnutls_strerror (result)); - exit (1); - } + error (EXIT_FAILURE, 0, "bag_count: %s", gnutls_strerror (result)); fprintf (outfile, "BAG #%d\n", index); result = gnutls_pkcs12_bag_get_type (bag, 0); if (result < 0) - { - fprintf (stderr, "bag_init: %s\n", gnutls_strerror (result)); - exit (1); - } - + error (EXIT_FAILURE, 0, "bag_init: %s", gnutls_strerror (result)); if (result == GNUTLS_BAG_ENCRYPTED) { @@ -2427,29 +2397,19 @@ pkcs12_info (void) result = gnutls_pkcs12_bag_decrypt (bag, password); if (result < 0) - { - fprintf (stderr, "bag_decrypt: %s\n", gnutls_strerror (result)); - exit (1); - } + error (EXIT_FAILURE, 0, "bag_decrypt: %s", + gnutls_strerror (result)); result = gnutls_pkcs12_bag_get_count (bag); if (result < 0) - { - fprintf (stderr, "get_count: %s\n", gnutls_strerror (result)); - exit (1); - } - + error (EXIT_FAILURE, 0, "encrypted bag_count: %s", + gnutls_strerror (result)); } print_bag_data (bag); gnutls_pkcs12_bag_deinit (bag); - - index++; } - while (ret == 0); - - } void |