aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJakub Jelen <jjelen@redhat.com>2019-05-30 14:04:46 +0200
committerAndreas Schneider <asn@cryptomilk.org>2019-06-13 11:00:56 +0200
commit9f178be1fa8b78333941099017e9ef3791cace35 (patch)
treeaef091cd66f65290b67414b482d9c1192f7cdff3 /tests
parent1f66414805bee4faf801e1bd2d221a990f7d25d3 (diff)
downloadlibssh-9f178be1fa8b78333941099017e9ef3791cace35.tar.gz
libssh-9f178be1fa8b78333941099017e9ef3791cace35.tar.xz
libssh-9f178be1fa8b78333941099017e9ef3791cace35.zip
tests: Cover comparison of public keys, which was missing
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/unittests/torture_pki_dsa.c14
-rw-r--r--tests/unittests/torture_pki_ecdsa.c12
-rw-r--r--tests/unittests/torture_pki_rsa.c12
3 files changed, 25 insertions, 13 deletions
diff --git a/tests/unittests/torture_pki_dsa.c b/tests/unittests/torture_pki_dsa.c
index ce469671..b88aa84e 100644
--- a/tests/unittests/torture_pki_dsa.c
+++ b/tests/unittests/torture_pki_dsa.c
@@ -682,6 +682,7 @@ static void torture_pki_dsa_duplicate_key(void **state)
char *b64_key = NULL;
char *b64_key_gen = NULL;
ssh_key pubkey = NULL;
+ ssh_key pubkey_dup = NULL;
ssh_key privkey = NULL;
ssh_key privkey_dup = NULL;
@@ -694,8 +695,6 @@ static void torture_pki_dsa_duplicate_key(void **state)
rc = ssh_pki_export_pubkey_base64(pubkey, &b64_key);
assert_true(rc == 0);
assert_non_null(b64_key);
- SSH_KEY_FREE(pubkey);
-
rc = ssh_pki_import_privkey_file(LIBSSH_DSA_TESTKEY,
NULL,
NULL,
@@ -707,11 +706,11 @@ static void torture_pki_dsa_duplicate_key(void **state)
privkey_dup = ssh_key_dup(privkey);
assert_non_null(privkey_dup);
- rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey);
+ rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey_dup);
assert_true(rc == SSH_OK);
- assert_non_null(pubkey);
+ assert_non_null(pubkey_dup);
- rc = ssh_pki_export_pubkey_base64(pubkey, &b64_key_gen);
+ rc = ssh_pki_export_pubkey_base64(pubkey_dup, &b64_key_gen);
assert_true(rc == 0);
assert_non_null(b64_key_gen);
@@ -720,7 +719,12 @@ static void torture_pki_dsa_duplicate_key(void **state)
rc = ssh_key_cmp(privkey, privkey_dup, SSH_KEY_CMP_PRIVATE);
assert_true(rc == 0);
+ rc = ssh_key_cmp(pubkey, pubkey_dup, SSH_KEY_CMP_PUBLIC);
+ assert_true(rc == 0);
+
SSH_KEY_FREE(pubkey);
+ SSH_KEY_FREE(pubkey_dup);
+
SSH_KEY_FREE(privkey);
SSH_KEY_FREE(privkey_dup);
SSH_STRING_FREE_CHAR(b64_key);
diff --git a/tests/unittests/torture_pki_ecdsa.c b/tests/unittests/torture_pki_ecdsa.c
index 7f65d9a6..959c714e 100644
--- a/tests/unittests/torture_pki_ecdsa.c
+++ b/tests/unittests/torture_pki_ecdsa.c
@@ -380,6 +380,7 @@ static void torture_pki_ecdsa_duplicate_key(void **state)
char *b64_key = NULL;
char *b64_key_gen = NULL;
ssh_key pubkey = NULL;
+ ssh_key pubkey_dup = NULL;
ssh_key privkey = NULL;
ssh_key privkey_dup = NULL;
@@ -391,7 +392,6 @@ static void torture_pki_ecdsa_duplicate_key(void **state)
rc = ssh_pki_export_pubkey_base64(pubkey, &b64_key);
assert_true(rc == 0);
- SSH_KEY_FREE(pubkey);
assert_non_null(b64_key);
rc = ssh_pki_import_privkey_file(LIBSSH_ECDSA_TESTKEY,
@@ -405,11 +405,11 @@ static void torture_pki_ecdsa_duplicate_key(void **state)
privkey_dup = ssh_key_dup(privkey);
assert_non_null(privkey_dup);
- rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey);
+ rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey_dup);
assert_true(rc == SSH_OK);
- assert_non_null(pubkey);
+ assert_non_null(pubkey_dup);
- rc = ssh_pki_export_pubkey_base64(pubkey, &b64_key_gen);
+ rc = ssh_pki_export_pubkey_base64(pubkey_dup, &b64_key_gen);
assert_true(rc == 0);
assert_non_null(b64_key_gen);
@@ -418,7 +418,11 @@ static void torture_pki_ecdsa_duplicate_key(void **state)
rc = ssh_key_cmp(privkey, privkey_dup, SSH_KEY_CMP_PRIVATE);
assert_true(rc == 0);
+ rc = ssh_key_cmp(pubkey, pubkey_dup, SSH_KEY_CMP_PUBLIC);
+ assert_true(rc == 0);
+
SSH_KEY_FREE(pubkey);
+ SSH_KEY_FREE(pubkey_dup);
SSH_KEY_FREE(privkey);
SSH_KEY_FREE(privkey_dup);
SSH_STRING_FREE_CHAR(b64_key);
diff --git a/tests/unittests/torture_pki_rsa.c b/tests/unittests/torture_pki_rsa.c
index 861a6b50..b4a12396 100644
--- a/tests/unittests/torture_pki_rsa.c
+++ b/tests/unittests/torture_pki_rsa.c
@@ -411,6 +411,7 @@ static void torture_pki_rsa_duplicate_key(void **state)
char *b64_key = NULL;
char *b64_key_gen = NULL;
ssh_key pubkey = NULL;
+ ssh_key pubkey_dup = NULL;
ssh_key privkey = NULL;
ssh_key privkey_dup = NULL;
@@ -422,7 +423,6 @@ static void torture_pki_rsa_duplicate_key(void **state)
rc = ssh_pki_export_pubkey_base64(pubkey, &b64_key);
assert_true(rc == 0);
- SSH_KEY_FREE(pubkey);
assert_non_null(b64_key);
rc = ssh_pki_import_privkey_file(LIBSSH_RSA_TESTKEY,
@@ -436,11 +436,11 @@ static void torture_pki_rsa_duplicate_key(void **state)
privkey_dup = ssh_key_dup(privkey);
assert_non_null(privkey_dup);
- rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey);
+ rc = ssh_pki_export_privkey_to_pubkey(privkey, &pubkey_dup);
assert_true(rc == SSH_OK);
- assert_non_null(pubkey);
+ assert_non_null(pubkey_dup);
- rc = ssh_pki_export_pubkey_base64(pubkey, &b64_key_gen);
+ rc = ssh_pki_export_pubkey_base64(pubkey_dup, &b64_key_gen);
assert_true(rc == 0);
assert_non_null(b64_key_gen);
@@ -449,7 +449,11 @@ static void torture_pki_rsa_duplicate_key(void **state)
rc = ssh_key_cmp(privkey, privkey_dup, SSH_KEY_CMP_PRIVATE);
assert_true(rc == 0);
+ rc = ssh_key_cmp(pubkey, pubkey_dup, SSH_KEY_CMP_PUBLIC);
+ assert_true(rc == 0);
+
SSH_KEY_FREE(pubkey);
+ SSH_KEY_FREE(pubkey_dup);
SSH_KEY_FREE(privkey);
SSH_KEY_FREE(privkey_dup);
SSH_STRING_FREE_CHAR(b64_key);