summaryrefslogtreecommitdiff
path: root/validat4.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2018-07-17 08:28:33 -0400
committerJeffrey Walton <noloader@gmail.com>2018-07-17 08:28:33 -0400
commitd8946df8eb342c0a7c56c59444c12f5682aa0f5d (patch)
tree28b91f58cfd1f617aa9544d1a92c8053a5dd0470 /validat4.cpp
parente1433536bcc4ff65ed0a3ce568fad529d03a5d5b (diff)
downloadcryptopp-git-d8946df8eb342c0a7c56c59444c12f5682aa0f5d.tar.gz
Add crypto_sign_sk2pk (PR #668)
This should allow users to convert a ed25519 seret key to a public key without rolling their own code
Diffstat (limited to 'validat4.cpp')
-rw-r--r--validat4.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/validat4.cpp b/validat4.cpp
index cf7ef70b..71b791e0 100644
--- a/validat4.cpp
+++ b/validat4.cpp
@@ -455,6 +455,13 @@ bool TestCryptoSignKeys()
{
fail = (crypto_sign_keypair(pk, sk) != 0);
pass = !fail && pass;
+
+ byte xk[crypto_sign_PUBLICKEYBYTES];
+ fail = (crypto_sign_sk2pk(xk, sk) != 0);
+ pass = !fail && pass;
+
+ fail = std::memcmp(xk, pk, sizeof(xk)) != 0;
+ pass = !fail && pass;
const word32 len = (i == 0 ? 0 : GlobalRNG().GenerateWord32(1, MAX_MESSAGE));
SecByteBlock m(len), sm(len+crypto_sign_BYTES), rm(len+crypto_sign_BYTES);