void TestGenerateKey()
/**
	Test generating keys, successfully and otherwise.  See in-function
	comments for specific test cases.
 */
	{
	test.Start(_L(" @SYMTestCaseID:SEC-CRYPTOSPI-GENERATE-0001 TestGenerateKey "));
	
	TestGenerateSingleKey(1, GenKeyHandle0, KErrNone);
	TestGenerateSingleKey(13, GenKeyHandle1, KErrNone);

	// error case - invalid length
	TestGenerateSingleKey(0, GenKeyHandle0, KErrArgument);

	// error case - invalid arg descriptor
	TestPanicTestChannel(&RKmsChannelTest::TestInvalidGenArgsDescriptor, KmsLddImpl::EGenKeyBadArgDescriptor);
	
	// error case - invalid handle
	TestPanic(TestGenerateKeyBadHandleAddr, KmsLddImpl::EGenKeyInvalidHandleAddr);

	// OOM
	TestDeleteSingleKey(GenKeyHandle0, KErrNone);
	RunOomTest(GenKeyOomAlloc, GenKeyOomFree);

	DeleteAllKeys();
	test.End();
	}
Exemple #2
0
void TestStoreKey()
/**
	Test storing user-defined keys in the hardware store.
	See in-function comments for specific test cases.
 */
	{
	test.Start(_L(" @SYMTestCaseID:SEC-CRYPTOSPI-STORE-0001 TestStoreKey "));
	
	TestStoreSingleKey(KStoreKeyData, StoreKeyHandle0, KErrNone);
	TestStoreSingleKey(KStoreKeyData, StoreKeyHandle1, KErrNone);

	// error case - invalid arg desc
	TestPanicTestChannel(&RKmsChannelTest::TestInvalidStoreArgsDescriptor, KmsLddImpl::EStoreKeyBadArgDescriptor);
	
	// error case - invalid length
	TestStoreSingleKey(KNullDesC8, StoreKeyHandle1, KErrArgument);
	
	// error case - invalid data
	TestPanic(TestStoreKeyBadDataDesc, KmsLddImpl::EStoreKeyInvalidDataDesc);
	
	// error case - invalid handle
	TestPanic(TestStoreKeyBadHandleAddr, KmsLddImpl::EStoreKeyInvalidHandleAddr);
	
	// OOM
	RunOomTest(StoreKeyOomAlloc, StoreKeyOomFree);

	DeleteAllKeys();
	
	test.End();
	}
KeyedArchive::~KeyedArchive()
{
    DeleteAllKeys();
}