test_tortls.c 971 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* Copyright (c) 2013-2013, The Tor Project, Inc. */
  2. /* See LICENSE for licensing information */
  3. #include <openssl/evp.h>
  4. #include "orconfig.h"
  5. #define CRYPTO_PRIVATE
  6. #define TORTLS_PRIVATE
  7. #include "or.h"
  8. #include "test.h"
  9. static void
  10. test_tortls_evp_pkey_eq(void)
  11. {
  12. crypto_pk_t *pk1 = NULL, *pk2 = NULL;
  13. EVP_PKEY *evp1 = NULL, *evp2 = NULL;
  14. pk1 = pk_generate(0);
  15. pk2 = pk_generate(1);
  16. test_assert(pk1 && pk2);
  17. evp1 = crypto_pk_get_evp_pkey_(pk1, 0);
  18. evp2 = crypto_pk_get_evp_pkey_(pk2, 0);
  19. test_assert(evp1 && evp2);
  20. test_assert(tor_tls_evp_pkey_eq(evp1, evp2) == 0);
  21. test_assert(tor_tls_evp_pkey_eq(evp1, evp1) == 1);
  22. done:
  23. crypto_pk_free(pk1);
  24. crypto_pk_free(pk2);
  25. if (evp1)
  26. EVP_PKEY_free(evp1);
  27. if (evp2)
  28. EVP_PKEY_free(evp2);
  29. }
  30. #define TORTLS_LEGACY(name) \
  31. { #name, legacy_test_helper, 0, &legacy_setup, test_tortls_ ## name }
  32. struct testcase_t tortls_tests[] = {
  33. TORTLS_LEGACY(evp_pkey_eq),
  34. END_OF_TESTCASES
  35. };