test_suite_shax.function 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. /* BEGIN_HEADER */
  2. #include "mbedtls/sha1.h"
  3. #include "mbedtls/sha256.h"
  4. #include "mbedtls/sha512.h"
  5. /* END_HEADER */
  6. /* BEGIN_CASE depends_on:MBEDTLS_SHA1_C */
  7. void mbedtls_sha1(data_t *src_str, data_t *hash)
  8. {
  9. unsigned char output[41];
  10. memset(output, 0x00, 41);
  11. TEST_ASSERT(mbedtls_sha1(src_str->x, src_str->len, output) == 0);
  12. TEST_ASSERT(mbedtls_test_hexcmp(output, hash->x, 20, hash->len) == 0);
  13. }
  14. /* END_CASE */
  15. /* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */
  16. void sha256_invalid_param()
  17. {
  18. mbedtls_sha256_context ctx;
  19. unsigned char buf[64] = { 0 };
  20. size_t const buflen = sizeof(buf);
  21. int invalid_type = 42;
  22. TEST_EQUAL(MBEDTLS_ERR_SHA256_BAD_INPUT_DATA,
  23. mbedtls_sha256_starts(&ctx, invalid_type));
  24. TEST_EQUAL(MBEDTLS_ERR_SHA256_BAD_INPUT_DATA,
  25. mbedtls_sha256(buf, buflen,
  26. buf, invalid_type));
  27. exit:
  28. return;
  29. }
  30. /* END_CASE */
  31. /* BEGIN_CASE depends_on:MBEDTLS_SHA224_C */
  32. void sha224(data_t *src_str, data_t *hash)
  33. {
  34. unsigned char output[57];
  35. memset(output, 0x00, 57);
  36. TEST_EQUAL(mbedtls_sha256(src_str->x, src_str->len, output, 1), 0);
  37. TEST_EQUAL(mbedtls_test_hexcmp(output, hash->x, 28, hash->len), 0);
  38. }
  39. /* END_CASE */
  40. /* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */
  41. void mbedtls_sha256(data_t *src_str, data_t *hash)
  42. {
  43. unsigned char output[65];
  44. memset(output, 0x00, 65);
  45. TEST_EQUAL(mbedtls_sha256(src_str->x, src_str->len, output, 0), 0);
  46. TEST_EQUAL(mbedtls_test_hexcmp(output, hash->x, 32, hash->len), 0);
  47. }
  48. /* END_CASE */
  49. /* BEGIN_CASE depends_on:MBEDTLS_SHA512_C */
  50. void sha512_invalid_param()
  51. {
  52. mbedtls_sha512_context ctx;
  53. unsigned char buf[64] = { 0 };
  54. size_t const buflen = sizeof(buf);
  55. int invalid_type = 42;
  56. TEST_EQUAL(MBEDTLS_ERR_SHA512_BAD_INPUT_DATA,
  57. mbedtls_sha512_starts(&ctx, invalid_type));
  58. TEST_EQUAL(MBEDTLS_ERR_SHA512_BAD_INPUT_DATA,
  59. mbedtls_sha512(buf, buflen,
  60. buf, invalid_type));
  61. exit:
  62. return;
  63. }
  64. /* END_CASE */
  65. /* BEGIN_CASE depends_on:MBEDTLS_SHA384_C */
  66. void sha384(data_t *src_str, data_t *hash)
  67. {
  68. unsigned char output[97];
  69. memset(output, 0x00, 97);
  70. TEST_EQUAL(mbedtls_sha512(src_str->x, src_str->len, output, 1), 0);
  71. TEST_EQUAL(mbedtls_test_hexcmp(output, hash->x, 48, hash->len), 0);
  72. }
  73. /* END_CASE */
  74. /* BEGIN_CASE depends_on:MBEDTLS_SHA512_C */
  75. void mbedtls_sha512(data_t *src_str, data_t *hash)
  76. {
  77. unsigned char output[129];
  78. memset(output, 0x00, 129);
  79. TEST_EQUAL(mbedtls_sha512(src_str->x, src_str->len, output, 0), 0);
  80. TEST_EQUAL(mbedtls_test_hexcmp(output, hash->x, 64, hash->len), 0);
  81. }
  82. /* END_CASE */
  83. /* BEGIN_CASE depends_on:MBEDTLS_SHA1_C:MBEDTLS_SELF_TEST */
  84. void sha1_selftest()
  85. {
  86. TEST_ASSERT(mbedtls_sha1_self_test(1) == 0);
  87. }
  88. /* END_CASE */
  89. /* BEGIN_CASE depends_on:MBEDTLS_SHA224_C:MBEDTLS_SELF_TEST */
  90. void sha224_selftest()
  91. {
  92. TEST_EQUAL(mbedtls_sha224_self_test(1), 0);
  93. }
  94. /* END_CASE */
  95. /* BEGIN_CASE depends_on:MBEDTLS_SHA256_C:MBEDTLS_SELF_TEST */
  96. void sha256_selftest()
  97. {
  98. TEST_EQUAL(mbedtls_sha256_self_test(1), 0);
  99. }
  100. /* END_CASE */
  101. /* BEGIN_CASE depends_on:MBEDTLS_SHA384_C:MBEDTLS_SELF_TEST */
  102. void sha384_selftest()
  103. {
  104. TEST_EQUAL(mbedtls_sha384_self_test(1), 0);
  105. }
  106. /* END_CASE */
  107. /* BEGIN_CASE depends_on:MBEDTLS_SHA512_C:MBEDTLS_SELF_TEST */
  108. void sha512_selftest()
  109. {
  110. TEST_EQUAL(mbedtls_sha512_self_test(1), 0);
  111. }
  112. /* END_CASE */