6 # include "openssl/err.h"
7 # include "openssl/rand.h"
8 # include "openssl/evp.h"
10 #define CMAC "AES128CMAC"
16 static const size_t TEST_MD5_DIGEST_LENGTH = 16;
17 static const size_t TEST_SHA1_DIGEST_LENGTH = 20;
18 static const size_t TEST_CMAC_DIGEST_LENGTH = 16;
20 void test_MD5KeyTypeWithoutDigestLength(void);
21 void test_MD5KeyTypeWithDigestLength(void);
22 void test_SHA1KeyTypeWithDigestLength(void);
23 void test_CMACKeyTypeWithDigestLength(void);
24 void test_MD5KeyName(void);
25 void test_SHA1KeyName(void);
26 void test_CMACKeyName(void);
29 // keytype_from_text()
31 test_MD5KeyTypeWithoutDigestLength(void) {
32 TEST_ASSERT_EQUAL(KEY_TYPE_MD5, keytype_from_text("MD5", NULL));
36 test_MD5KeyTypeWithDigestLength(void) {
38 size_t expected = TEST_MD5_DIGEST_LENGTH;
40 TEST_ASSERT_EQUAL(KEY_TYPE_MD5, keytype_from_text("MD5", &digestLength));
41 TEST_ASSERT_EQUAL(expected, digestLength);
46 test_SHA1KeyTypeWithDigestLength(void) {
49 size_t expected = TEST_SHA1_DIGEST_LENGTH;
51 TEST_ASSERT_EQUAL(NID_sha1, keytype_from_text("SHA1", &digestLength));
52 TEST_ASSERT_EQUAL(expected, digestLength);
55 TEST_IGNORE_MESSAGE("Skipping because OPENSSL isn't defined");
61 test_CMACKeyTypeWithDigestLength(void) {
62 #if defined(OPENSSL) && defined(ENABLE_CMAC)
64 size_t expected = TEST_CMAC_DIGEST_LENGTH;
66 TEST_ASSERT_EQUAL(NID_cmac, keytype_from_text(CMAC, &digestLength));
67 TEST_ASSERT_EQUAL(expected, digestLength);
70 TEST_IGNORE_MESSAGE("Skipping because OPENSSL/CMAC isn't defined");
77 test_MD5KeyName(void) {
78 TEST_ASSERT_EQUAL_STRING("MD5", keytype_name(KEY_TYPE_MD5));
83 test_SHA1KeyName(void) {
85 TEST_ASSERT_EQUAL_STRING("SHA1", keytype_name(NID_sha1));
87 TEST_IGNORE_MESSAGE("Skipping because OPENSSL isn't defined");
93 test_CMACKeyName(void) {
94 #if defined(OPENSSL) && defined(ENABLE_CMAC)
95 TEST_ASSERT_EQUAL_STRING(CMAC, keytype_name(NID_cmac));
97 TEST_IGNORE_MESSAGE("Skipping because OPENSSL/CMAC isn't defined");