Ejemplo n.º 1
0
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

}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
/*
 * 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);
}