diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2011-12-28 18:22:10 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2012-02-04 18:37:04 +0100 |
commit | fc8a182823b77862852d4ba988d0fc7cd737cc3e (patch) | |
tree | cbc5efd71708295c0a1acce161f59e68deb2b4df /tests/unittests | |
parent | f35c284761359b4b71c0f8228126fa920430ad66 (diff) | |
download | libssh-fc8a182823b77862852d4ba988d0fc7cd737cc3e.tar.gz libssh-fc8a182823b77862852d4ba988d0fc7cd737cc3e.tar.xz libssh-fc8a182823b77862852d4ba988d0fc7cd737cc3e.zip |
tests: Add a testing of importing ecdsa pubkeys.
Diffstat (limited to 'tests/unittests')
-rw-r--r-- | tests/unittests/torture_pki.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/unittests/torture_pki.c b/tests/unittests/torture_pki.c index 17903cc4..9ca3d333 100644 --- a/tests/unittests/torture_pki.c +++ b/tests/unittests/torture_pki.c @@ -397,6 +397,43 @@ static void torture_pki_publickey_dsa_base64(void **state) ssh_key_free(key); } +static void torture_pki_publickey_ecdsa_base64(void **state) +{ + enum ssh_keytypes_e type; + char *b64_key, *key_buf, *p; + const char *q; + ssh_key key; + int rc; + + (void) state; /* unused */ + + key_buf = read_file(LIBSSH_ECDSA_TESTKEY ".pub"); + assert_true(key_buf != NULL); + + q = p = key_buf; + while (*p != ' ') p++; + *p = '\0'; + + type = ssh_key_type_from_name(q); + assert_true(type == SSH_KEYTYPE_ECDSA); + + q = ++p; + while (*p != ' ') p++; + *p = '\0'; + + rc = ssh_pki_import_pubkey_base64(q, type, &key); + assert_true(rc == 0); + + rc = ssh_pki_export_pubkey_base64(key, &b64_key); + assert_true(rc == 0); + + assert_string_equal(q, b64_key); + + free(b64_key); + free(key_buf); + ssh_key_free(key); +} + static void torture_pki_publickey_rsa_base64(void **state) { enum ssh_keytypes_e type; @@ -778,6 +815,9 @@ int torture_run_tests(void) { unit_test_setup_teardown(torture_pki_publickey_dsa_base64, setup_dsa_key, teardown), + unit_test_setup_teardown(torture_pki_publickey_ecdsa_base64, + setup_ecdsa_key, + teardown), unit_test_setup_teardown(torture_pki_publickey_rsa_base64, setup_rsa_key, teardown), |