add unit test for identity_keygen

pull/871/head
jeff 5 years ago
parent ff8c167362
commit 1cdd9ba13a

@ -73,7 +73,7 @@ namespace llarp
virtual void
randbytes(byte_t *, size_t) = 0;
/// generate signing keypair
virtual void
virtual bool
identity_keygen(SecretKey &) = 0;
/// generate encryption keypair
virtual void

@ -185,8 +185,9 @@ namespace llarp
const llarp::IdentitySecret &seed)
{
PubKey pk;
byte_t *sk = secret.data();
return crypto_sign_ed25519_seed_keypair(pk.data(), sk, seed.data()) != -1;
return crypto_sign_ed25519_seed_keypair(pk.data(), secret.data(),
seed.data())
!= -1;
}
void
@ -201,12 +202,13 @@ namespace llarp
randombytes((unsigned char *)ptr, sz);
}
void
bool
CryptoLibSodium::identity_keygen(llarp::SecretKey &keys)
{
PubKey pk;
byte_t *sk = keys.data();
crypto_sign_keypair(pk.data(), sk);
crypto_sign_keypair(pk.data(), keys.data());
const PubKey sk_pk = keys.toPublic();
return pk == sk_pk;
}
void

@ -52,6 +52,7 @@ namespace llarp
bool
verify(const PubKey &, const llarp_buffer_t &,
const Signature &) override;
/// seed to secretkey
bool
seed_to_secretkey(llarp::SecretKey &,
@ -63,7 +64,7 @@ namespace llarp
void
randbytes(byte_t *, size_t) override;
/// generate signing keypair
void
bool
identity_keygen(SecretKey &) override;
/// generate encryption keypair
void

@ -58,7 +58,7 @@ namespace llarp
MOCK_METHOD2(randbytes, void(byte_t *, size_t));
MOCK_METHOD1(identity_keygen, void(SecretKey &));
MOCK_METHOD1(identity_keygen, bool(SecretKey &));
MOCK_METHOD1(encryption_keygen, void(SecretKey &));

@ -15,10 +15,16 @@ namespace llarp
}
};
TEST_F(IdentityKeyTest, TestKeyGen)
{
SecretKey secret;
ASSERT_TRUE(crypto.identity_keygen(secret));
}
TEST_F(IdentityKeyTest, TestSignVerify)
{
SecretKey secret;
crypto.identity_keygen(secret);
ASSERT_TRUE(crypto.identity_keygen(secret));
AlignedBuffer< 128 > random;
random.Randomize();
Signature sig;

Loading…
Cancel
Save