sl@0: /* sl@0: * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: #include "cdummykeystoreclient.h" sl@0: sl@0: MCTTokenInterface* CDummyKeyStoreClient::NewKeyStoreInterfaceL(MCTToken& aToken) sl@0: { sl@0: // Destroyed by MCTTokenInterface::DoRelease() sl@0: CDummyKeyStoreClient* me = new (ELeave) CDummyKeyStoreClient(aToken); sl@0: CleanupStack::PushL(me); sl@0: me->ConstructL(); sl@0: CleanupStack::Pop(me); sl@0: return (me); sl@0: } sl@0: sl@0: CDummyKeyStoreClient::CDummyKeyStoreClient(MCTToken& aToken) sl@0: : // Reference count starts at one as we're always created and returned by a GetInterface() call on the token sl@0: iRefCount(1), sl@0: iToken(aToken) sl@0: { sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::ConstructL() sl@0: { sl@0: } sl@0: sl@0: CDummyKeyStoreClient::~CDummyKeyStoreClient() sl@0: { sl@0: } sl@0: sl@0: MCTToken& CDummyKeyStoreClient::Token() sl@0: { sl@0: return iToken; sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::AddRef() sl@0: { sl@0: ++iRefCount; sl@0: sl@0: iToken.AddRef(); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::DoRelease() sl@0: { sl@0: --iRefCount; sl@0: sl@0: ASSERT(iRefCount >= 0); sl@0: if (iRefCount == 0) sl@0: { sl@0: MCTTokenInterface::DoRelease(); sl@0: } sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::ReleaseObject(const TCTTokenObjectHandle& /*aHandle*/) sl@0: { sl@0: } sl@0: sl@0: // ********************************************************************************* sl@0: // MKeyStore sl@0: // ********************************************************************************* sl@0: void CDummyKeyStoreClient::List(RMPointerArray& /*aKeys*/, const TCTKeyAttributeFilter& /*aFilter*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelList() sl@0: { sl@0: // synchronous, nothing to do sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::GetKeyInfo(TCTTokenObjectHandle /*aHandle*/, CCTKeyInfo*& /*aInfo*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelGetKeyInfo() sl@0: { sl@0: // synchronous, nothing to do sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::Open(const TCTTokenObjectHandle& /*aHandle*/, sl@0: MRSASigner*& /*aSigner*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::Open(const TCTTokenObjectHandle& /*aHandle*/, sl@0: MCTSigner*& /*aSigner*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::Open(const TCTTokenObjectHandle& /*aHandle*/, sl@0: MCTDecryptor*& /*aDecryptor*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::Open(const TCTTokenObjectHandle& /*aHandle*/, sl@0: MCTDH*& /*aDH*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelOpen() sl@0: { sl@0: // synchronous, nothing to do sl@0: } sl@0: sl@0: /** Returns the public key in DER-encoded ASN-1 */ sl@0: void CDummyKeyStoreClient::ExportPublic(const TCTTokenObjectHandle& /*aHandle*/, sl@0: HBufC8*& /*aPublicKey*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelExportPublic() sl@0: { sl@0: // synchronous, nothing to do sl@0: } sl@0: sl@0: // ********************************************************************************* sl@0: // MCTKeyStoreManager sl@0: // ********************************************************************************* sl@0: void CDummyKeyStoreClient::CreateKey(CCTKeyInfo*& /*aReturnedKey*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelCreateKey() sl@0: { sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::ImportKey(const TDesC8& /*aKey*/, CCTKeyInfo*& /*aReturnedKey*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: //DoImportKey(EImportKey, aKey, aReturnedKey, aStatus); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelImportKey() sl@0: { sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::ImportEncryptedKey(const TDesC8& /*aKey*/, CCTKeyInfo*& /*aReturnedKey*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: //DoImportKey(EImportEncryptedKey, aKey, aReturnedKey, aStatus); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelImportEncryptedKey() sl@0: { sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::ExportKey(TCTTokenObjectHandle /*aHandle*/, HBufC8*& /*aKey*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelExportKey() sl@0: { sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::ExportEncryptedKey(TCTTokenObjectHandle /*aHandle*/, const CPBEncryptParms& /*aParams*/, HBufC8*& /*aKey*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelExportEncryptedKey() sl@0: { sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::RepudiableDSASign(const TCTTokenObjectHandle& /*aHandle*/, sl@0: const TDesC8& /*aDigest*/, sl@0: CDSASignature*& /*aSignature*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::RepudiableRSASign(const TCTTokenObjectHandle& /*aHandle*/, sl@0: const TDesC8& /*aDigest*/, sl@0: CRSASignature*& /*aSignature*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::Decrypt(const TCTTokenObjectHandle& /*aHandle*/, sl@0: const TDesC8& /*aCiphertext*/, sl@0: TDes8& /*aDecryptedText*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::DHPublicKey(const TCTTokenObjectHandle& /*aHandle*/, const TInteger& /*aN*/, const TInteger& /*aG*/, sl@0: CDHPublicKey*& /*aX*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::DHAgree(const TCTTokenObjectHandle& /*aHandle*/, const CDHPublicKey& /*iY*/, sl@0: HBufC8*& /*aAgreedKey*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::DeleteKey(TCTTokenObjectHandle /*aHandle*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelDeleteKey() sl@0: { sl@0: // synchronous, nothing to do sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::SetUsePolicy(TCTTokenObjectHandle /*aHandle*/, sl@0: const TSecurityPolicy& /*aPolicy*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelSetUsePolicy() sl@0: { sl@0: // synchronous, nothing to do sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::SetManagementPolicy(TCTTokenObjectHandle /*aHandle*/, sl@0: const TSecurityPolicy& /*aPolicy*/, sl@0: TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelSetManagementPolicy() sl@0: { sl@0: // synchronous, nothing to do sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::SetPassphraseTimeout(TInt /*aTimeout*/, TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelSetPassphraseTimeout() sl@0: { sl@0: // No point cancelling, not asynchronous sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::Relock(TRequestStatus& aStatus) sl@0: { sl@0: TRequestStatus* status = &aStatus; sl@0: User::RequestComplete(status, KErrNone); sl@0: } sl@0: sl@0: void CDummyKeyStoreClient::CancelRelock() sl@0: { sl@0: // No point cancelling, not asynchronous sl@0: } sl@0: sl@0: sl@0: sl@0: sl@0: