507 { |
507 { |
508 __ASSERT_ALWAYS(iFileStore, PanicServer(EPanicStoreInitialised)); |
508 __ASSERT_ALWAYS(iFileStore, PanicServer(EPanicStoreInitialised)); |
509 RStoreReadStream stream; |
509 RStoreReadStream stream; |
510 stream.OpenLC(*iFileStore, aKeyData.InfoDataStreamId()); |
510 stream.OpenLC(*iFileStore, aKeyData.InfoDataStreamId()); |
511 CKeyInfo* info = CKeyInfo::NewL(stream); |
511 CKeyInfo* info = CKeyInfo::NewL(stream); |
512 |
512 |
|
513 info->CleanupPushL(); |
|
514 |
513 #ifdef SYMBIAN_KEYSTORE_USE_AUTH_SERVER |
515 #ifdef SYMBIAN_KEYSTORE_USE_AUTH_SERVER |
514 ReadAuthDetailsL(stream, *info); |
516 ReadAuthDetailsL(stream, *info); |
515 #endif // SYMBIAN_KEYSTORE_USE_AUTH_SERVER |
517 #endif // SYMBIAN_KEYSTORE_USE_AUTH_SERVER |
516 CleanupStack::PopAndDestroy(&stream); |
518 |
|
519 CleanupStack::Pop(1); |
|
520 CleanupStack::PopAndDestroy(&stream); |
517 info->CleanupPushL(); |
521 info->CleanupPushL(); |
|
522 |
518 if (info->Handle() != aKeyData.Handle()) |
523 if (info->Handle() != aKeyData.Handle()) |
519 { |
524 { |
520 User::Leave(KErrCorrupt); // is this appropriate? |
525 User::Leave(KErrCorrupt); // is this appropriate? |
521 } |
526 } |
|
527 |
|
528 |
522 return info; |
529 return info; |
523 } |
530 } |
524 |
531 |
525 void CFileKeyDataManager::WriteKeyInfoL(const CFileKeyData& aKeyData, const CKeyInfo& aKeyInfo) |
532 void CFileKeyDataManager::WriteKeyInfoL(const CFileKeyData& aKeyData, const CKeyInfo& aKeyInfo) |
526 { |
533 { |