os/security/cryptoplugins/cryptospiplugins/test/dummyecchwplugin/src/dummyeccsignerimpl.h
Update contrib.
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
24 #ifndef CDUMMYECCSIGNERIMPL_H
25 #define CDUMMYECCSIGNERIMPL_H
29 #include "signerplugin.h"
31 namespace DummyEccHwCrypto
33 using namespace CryptoSpi;
36 * Implements the MSigner interface.
38 * This should be used to create the signer object to perform
41 NONSHARABLE_CLASS(CDummyECCSignerImpl) : public CBase, public MSigner
44 static CDummyECCSignerImpl* NewL(const CryptoSpi::CKey& aKey,
46 static CDummyECCSignerImpl* NewLC(const CryptoSpi::CKey& aKey,
52 void GetCharacteristicsL(const TCharacteristics*& aPluginCharacteristics);
53 const CExtendedCharacteristics* GetExtendedCharacteristicsL();
54 TAny* GetExtension(TUid aExtensionId);
55 // End of MPlugin Interface
57 // MSignatureBase inteface
58 void SetPaddingModeL(TUid aPaddingMode);
59 void SetKeyL(const CKey& aPrivateKey);
60 TInt GetMaximumInputLengthL() const;
61 TInt GetMaximumOutputLengthL() const;
62 // End of MSignatureBase inteface
65 void SignL(const TDesC8& aInput, CCryptoParams& aSignature);
67 TUid ImplementationUid() const;
69 ~CDummyECCSignerImpl();
72 CDummyECCSignerImpl(TUid aPaddingMode);
73 void ConstructL(const CryptoSpi::CKey& aKey);
76 /* The key extracted from a CKey object. This would just have
77 * a handle to the key stored in hardware. Hence the actual key
78 * would not be available to the user of this cryptoSPI plugin.
85 #endif //CDUMMYECCSIGNERIMPL_H