diff options
Diffstat (limited to 'tests/vb2_sha_tests.c')
-rw-r--r-- | tests/vb2_sha_tests.c | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/tests/vb2_sha_tests.c b/tests/vb2_sha_tests.c index c60bbd15..501f90ee 100644 --- a/tests/vb2_sha_tests.c +++ b/tests/vb2_sha_tests.c @@ -14,15 +14,15 @@ #include "test_common.h" static int vb2_digest(const uint8_t *buf, - uint32_t size, - uint32_t algorithm, - uint8_t *digest, - uint32_t digest_size) + uint32_t size, + enum vb2_hash_algorithm hash_alg, + uint8_t *digest, + uint32_t digest_size) { struct vb2_digest_context dc; int rv; - rv = vb2_digest_init(&dc, algorithm); + rv = vb2_digest_init(&dc, hash_alg); if (rv) return rv; @@ -46,15 +46,14 @@ void sha1_tests(void) for (i = 0; i < 3; i++) { TEST_SUCC(vb2_digest(test_inputs[i], strlen((char *)test_inputs[i]), - VB2_ALG_RSA1024_SHA1, digest, - sizeof(digest)), + VB2_HASH_SHA1, digest, sizeof(digest)), "vb2_digest() SHA1"); TEST_EQ(memcmp(digest, sha1_results[i], sizeof(digest)), 0, "SHA1 digest"); } TEST_EQ(vb2_digest(test_inputs[0], strlen((char *)test_inputs[0]), - VB2_ALG_RSA1024_SHA1, digest, sizeof(digest) - 1), + VB2_HASH_SHA1, digest, sizeof(digest) - 1), VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE, "vb2_digest() too small"); } @@ -71,15 +70,14 @@ void sha256_tests(void) for (i = 0; i < 3; i++) { TEST_SUCC(vb2_digest(test_inputs[i], strlen((char *)test_inputs[i]), - VB2_ALG_RSA1024_SHA256, digest, - sizeof(digest)), + VB2_HASH_SHA256, digest, sizeof(digest)), "vb2_digest() SHA256"); TEST_EQ(memcmp(digest, sha256_results[i], sizeof(digest)), 0, "SHA-256 digest"); } TEST_EQ(vb2_digest(test_inputs[0], strlen((char *)test_inputs[0]), - VB2_ALG_RSA1024_SHA256, digest, sizeof(digest) - 1), + VB2_HASH_SHA256, digest, sizeof(digest) - 1), VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE, "vb2_digest() too small"); } @@ -96,7 +94,7 @@ void sha512_tests(void) for (i = 0; i < 3; i++) { TEST_SUCC(vb2_digest(test_inputs[i], strlen((char *)test_inputs[i]), - VB2_ALG_RSA1024_SHA512, digest, + VB2_HASH_SHA512, digest, sizeof(digest)), "vb2_digest() SHA512"); TEST_EQ(memcmp(digest, sha512_results[i], sizeof(digest)), @@ -104,7 +102,7 @@ void sha512_tests(void) } TEST_EQ(vb2_digest(test_inputs[0], strlen((char *)test_inputs[0]), - VB2_ALG_RSA1024_SHA512, digest, sizeof(digest) - 1), + VB2_HASH_SHA512, digest, sizeof(digest) - 1), VB2_ERROR_SHA_FINALIZE_DIGEST_SIZE, "vb2_digest() too small"); } @@ -113,16 +111,29 @@ void misc_tests(void) uint8_t digest[VB2_SHA512_DIGEST_SIZE]; struct vb2_digest_context dc; - TEST_EQ(vb2_digest_size(VB2_ALG_COUNT), 0, "digest size invalid alg"); + /* Crypto algorithm to hash algorithm mapping */ + TEST_EQ(vb2_crypto_to_hash(VB2_ALG_RSA1024_SHA1), VB2_HASH_SHA1, + "Crypto map to SHA1"); + TEST_EQ(vb2_crypto_to_hash(VB2_ALG_RSA2048_SHA256), VB2_HASH_SHA256, + "Crypto map to SHA256"); + TEST_EQ(vb2_crypto_to_hash(VB2_ALG_RSA4096_SHA256), VB2_HASH_SHA256, + "Crypto map to SHA256 2"); + TEST_EQ(vb2_crypto_to_hash(VB2_ALG_RSA8192_SHA512), VB2_HASH_SHA512, + "Crypto map to SHA512"); + TEST_EQ(vb2_crypto_to_hash(VB2_ALG_COUNT), VB2_HASH_INVALID, + "Crypto map to invalid"); + + TEST_EQ(vb2_digest_size(VB2_HASH_INVALID), 0, + "digest size invalid alg"); TEST_EQ(vb2_digest((uint8_t *)oneblock_msg, strlen(oneblock_msg), - VB2_ALG_COUNT, digest, sizeof(digest)), + VB2_HASH_INVALID, digest, sizeof(digest)), VB2_ERROR_SHA_INIT_ALGORITHM, "vb2_digest() invalid alg"); /* Test bad algorithm inside extend and finalize */ - vb2_digest_init(&dc, VB2_ALG_RSA1024_SHA1); - dc.algorithm = VB2_ALG_COUNT; + vb2_digest_init(&dc, VB2_HASH_SHA256); + dc.hash_alg = VB2_HASH_INVALID; TEST_EQ(vb2_digest_extend(&dc, digest, sizeof(digest)), VB2_ERROR_SHA_EXTEND_ALGORITHM, "vb2_digest_extend() invalid alg"); |