dsa-keygen-test.c 669 Bytes
Newer Older
Niels Möller's avatar
Niels Möller committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#include "testutils.h"

#include "knuth-lfib.h"

static void
progress(void *ctx UNUSED, int c)
{
  fputc(c, stderr);
}

int
test_main(void)
{
  struct dsa_public_key pub;
  struct dsa_private_key key;
  
  struct knuth_lfib_ctx lfib;
  
  dsa_private_key_init(&key);
  dsa_public_key_init(&pub);

  /* Generate a 1024 bit key with random e */
  knuth_lfib_init(&lfib, 13);

  if (!dsa_generate_keypair(&pub, &key,
26
			    &lfib, (nettle_random_func *) knuth_lfib_random,
Niels Möller's avatar
Niels Möller committed
27 28 29 30 31 32 33 34 35 36 37 38
			    NULL, verbose ? progress : NULL,
			    1024))
    FAIL();

  test_dsa_key(&pub, &key);
  test_dsa(&pub, &key);

  dsa_public_key_clear(&pub);
  dsa_private_key_clear(&key);
  
  SUCCESS();
}