TEST(a_md5encrypt, Encrypt) { char *packetPtr[totalLength]; memset(packetPtr+packetLength, 0, keyIdLength); memcpy(packetPtr, packet, packetLength); cache_secretsize = keyLength; int length = MD5authencrypt(keytype, (u_char*)key, (u_int32_t*)packetPtr, packetLength); TEST_ASSERT_TRUE(MD5authdecrypt(keytype, (u_char*)key, (u_int32_t*)packetPtr, packetLength, length)); TEST_ASSERT_EQUAL(20, length); //XXX TEST_ASSERT_TRUE(memcmp(expectedPacket, packetPtr, totalLength) == 0); Does not pass }
void test_Encrypt() { char *packetPtr = malloc(totalLength*sizeof(*packetPtr)); //new char[totalLength]; memset(packetPtr+packetLength, 0, keyIdLength); memcpy(packetPtr, packet, packetLength); cache_secretsize = keyLength; int length = MD5authencrypt(keytype, (u_char*)key, (u_int32*)packetPtr, packetLength); TEST_ASSERT_TRUE(MD5authdecrypt(keytype, (u_char*)key, (u_int32*)packetPtr, packetLength, length)); TEST_ASSERT_EQUAL(20, length); TEST_ASSERT_TRUE(memcmp(expectedPacket, packetPtr, totalLength) == 0); free(packetPtr); //delete[] packetPtr; }
void test_Encrypt(void) { char *packetPtr; int length; packetPtr = emalloc(totalLength * sizeof(*packetPtr)); memset(packetPtr + packetLength, 0, keyIdLength); memcpy(packetPtr, packet, packetLength); cache_secretsize = keyLength; length = MD5authencrypt(keytype, (u_char*)key, (u_int32*)packetPtr, packetLength); TEST_ASSERT_TRUE(MD5authdecrypt(keytype, (u_char*)key, (u_int32*)packetPtr, packetLength, length)); TEST_ASSERT_EQUAL(20, length); TEST_ASSERT_EQUAL_MEMORY(expectedPacket, packetPtr, totalLength); free(packetPtr); }
/* * authencrypt - generate message authenticator * * Returns length of authenticator field, zero if key not found. */ int authencrypt( keyid_t keyno, uint32_t * pkt, int length ) {\ /* * A zero key identifier means the sender has not verified * the last message was correctly authenticated. The MAC * consists of a single word with value zero. */ authencryptions++; pkt[length / 4] = htonl(keyno); if (0 == keyno) { return 4; } if (!authhavekey(keyno)) { return 0; } return MD5authencrypt(cache_type, cache_secret, pkt, length); }