+static void
+key_cont (void *cls,
+ struct GNUNET_CRYPTO_RsaPrivateKey *pk,
+ const char *emsg)
+{
+ const char *txt = cls;
+ struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pub1;
+ struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pub2;
+
+ GNUNET_assert (0 == strcmp ("ok", txt));
+ GNUNET_CRYPTO_rsa_key_get_public (pk, &pub1);
+ GNUNET_CRYPTO_rsa_key_get_public (key, &pub2);
+ GNUNET_assert (0 == memcmp (&pub1, &pub2,
+ sizeof (pub1)));
+ GNUNET_CRYPTO_rsa_key_free (pk);
+}
+
+
+static void
+test_async_creation (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ struct GNUNET_CRYPTO_RsaKeyGenerationContext *gc;
+
+ gc = GNUNET_CRYPTO_rsa_key_create_start (KEYFILE,
+ &key_cont,
+ (void*) "bug");
+ GNUNET_CRYPTO_rsa_key_create_stop (gc);
+ gc = GNUNET_CRYPTO_rsa_key_create_start (KEYFILE,
+ &key_cont,
+ (void*) "ok");
+}
+
+