aboutsummaryrefslogtreecommitdiff
path: root/src/gnsrecord/gnsrecord_crypto.c
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2021-05-03 18:49:17 +0200
committerMartin Schanzenbach <mschanzenbach@posteo.de>2021-05-03 18:49:17 +0200
commitd552acf5e7114f92d8251276ef76827a9db92257 (patch)
tree4b5ed54763b6acbd8292d52ef9fda9a789c56ec8 /src/gnsrecord/gnsrecord_crypto.c
parent5bb2578678064ff4d537fcbc8d9a552a6779892d (diff)
downloadgnunet-d552acf5e7114f92d8251276ef76827a9db92257.tar.gz
gnunet-d552acf5e7114f92d8251276ef76827a9db92257.zip
-add more tests for eddsa and gnsrecord
Diffstat (limited to 'src/gnsrecord/gnsrecord_crypto.c')
-rw-r--r--src/gnsrecord/gnsrecord_crypto.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/gnsrecord/gnsrecord_crypto.c b/src/gnsrecord/gnsrecord_crypto.c
index 289f0e885..7fe0c6953 100644
--- a/src/gnsrecord/gnsrecord_crypto.c
+++ b/src/gnsrecord/gnsrecord_crypto.c
@@ -396,11 +396,8 @@ block_create_eddsa (const struct GNUNET_CRYPTO_EddsaPrivateKey *key,
396 label, 396 label,
397 "gns", 397 "gns",
398 &dkey); 398 &dkey);
399 // FIXME: We may want a key_get_public_from_private_scalar function 399 GNUNET_CRYPTO_eddsa_key_get_public_from_scalar (&dkey,
400 struct GNUNET_CRYPTO_EddsaPublicKey test; 400 &edblock->derived_key);
401 crypto_scalarmult_ed25519_base_noclamp (test.q_y,
402 dkey.s);
403 edblock->derived_key = test;
404 derive_block_xsalsa_key (nonce, 401 derive_block_xsalsa_key (nonce,
405 skey, 402 skey,
406 label, 403 label,
@@ -438,25 +435,21 @@ GNUNET_GNSRECORD_block_create (const struct GNUNET_IDENTITY_PrivateKey *key,
438 const struct GNUNET_GNSRECORD_Data *rd, 435 const struct GNUNET_GNSRECORD_Data *rd,
439 unsigned int rd_count) 436 unsigned int rd_count)
440{ 437{
441 struct GNUNET_CRYPTO_EcdsaPublicKey pkey; 438 struct GNUNET_IDENTITY_PublicKey pkey;
442 struct GNUNET_CRYPTO_EddsaPublicKey edkey; 439 GNUNET_IDENTITY_key_get_public (key,
443 440 &pkey);
444 switch (ntohl (key->type)) 441 switch (ntohl (key->type))
445 { 442 {
446 case GNUNET_GNSRECORD_TYPE_PKEY: 443 case GNUNET_GNSRECORD_TYPE_PKEY:
447 GNUNET_CRYPTO_ecdsa_key_get_public (&key->ecdsa_key,
448 &pkey);
449 return block_create_ecdsa (&key->ecdsa_key, 444 return block_create_ecdsa (&key->ecdsa_key,
450 &pkey, 445 &pkey.ecdsa_key,
451 expire, 446 expire,
452 label, 447 label,
453 rd, 448 rd,
454 rd_count); 449 rd_count);
455 case GNUNET_GNSRECORD_TYPE_EDKEY: 450 case GNUNET_GNSRECORD_TYPE_EDKEY:
456 GNUNET_CRYPTO_eddsa_key_get_public (&key->eddsa_key,
457 &edkey);
458 return block_create_eddsa (&key->eddsa_key, 451 return block_create_eddsa (&key->eddsa_key,
459 &edkey, 452 &pkey.eddsa_key,
460 expire, 453 expire,
461 label, 454 label,
462 rd, 455 rd,
@@ -930,7 +923,7 @@ GNUNET_GNSRECORD_query_from_public_key (const struct
930 GNUNET_CRYPTO_eddsa_public_key_derive (&pub->eddsa_key, 923 GNUNET_CRYPTO_eddsa_public_key_derive (&pub->eddsa_key,
931 label, 924 label,
932 "gns", 925 "gns",
933 &pd.eddsa_key); 926 &(pd.eddsa_key));
934 GNUNET_CRYPTO_hash (&pd.eddsa_key, 927 GNUNET_CRYPTO_hash (&pd.eddsa_key,
935 sizeof (pd.eddsa_key), 928 sizeof (pd.eddsa_key),
936 query); 929 query);