From 690019c1758a0cdfd4a1b9ae51cbb9b26d8e5915 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 17 Sep 2015 14:13:41 +0200 Subject: implement mintdb API for mint to read auditor keys from disk -- and form auditor-sign tool to write them in the right format --- src/mint-tools/taler-auditor-sign.c | 40 ++++++++++++++----------------------- 1 file changed, 15 insertions(+), 25 deletions(-) (limited to 'src/mint-tools/taler-auditor-sign.c') diff --git a/src/mint-tools/taler-auditor-sign.c b/src/mint-tools/taler-auditor-sign.c index 47ada94ed..8d180790f 100644 --- a/src/mint-tools/taler-auditor-sign.c +++ b/src/mint-tools/taler-auditor-sign.c @@ -151,9 +151,10 @@ main (int argc, }; struct GNUNET_CRYPTO_EddsaPrivateKey *eddsa_priv; struct TALER_AuditorSignatureP sig; + struct TALER_AuditorPublicKeyP apub; struct GNUNET_DISK_FileHandle *fh; - struct GNUNET_DISK_FileHandle *fout; struct TALER_DenominationKeyValidityPS *dks; + unsigned int dks_len; struct TALER_MintKeyValidityPS *ap; off_t in_size; unsigned int i; @@ -180,6 +181,8 @@ main (int argc, auditor_key_file); return 1; } + GNUNET_CRYPTO_eddsa_key_get_public (eddsa_priv, + &apub.eddsa_pub); if (NULL == mint_public_key) { fprintf (stderr, @@ -233,6 +236,7 @@ main (int argc, GNUNET_DISK_file_close (fh); return 1; } + dks_len = in_size / sizeof (struct TALER_DenominationKeyValidityPS); ap = GNUNET_malloc (sizeof (struct TALER_MintKeyValidityPS) + in_size); ap.purpose.purpose = htonl (TALER_SIGNATURE_AUDITOR_MINT_KEYS); @@ -256,7 +260,7 @@ main (int argc, GNUNET_DISK_file_close (fh); if (verbose) { - for (i=0;ipurpose, &sig.eddsa_sig); - if (sizeof (struct TALER_AuditorSignatureP) != - GNUNET_DISK_file_write (out, - &sig, - sizeof (sig))) + + /* write result to disk */ + if (GNUNET_OK != + TALER_MINTDB_auditor_write (output_file, + &apub, + &sig, + &master_public_key, + dks_len, + dks)) { fprintf (stderr, "Failed to write to file `%s': %s\n", output_file, STRERROR (errno)); GNUNET_free (ap); - GNUNET_DISK_file_close (output_file); return 1; } GNUNET_free (ap); - GNUNET_DISK_file_close (out); GNUNET_free (eddsa_priv); return 0; } -- cgit v1.2.3