Mechanism.h

00001 #ifndef MECHANISM_H
00002 #define MECHANISM_H 
00003 
00004 #include "common.h"
00005 
00006 #include "GenericCryptoObject.h"
00007 #include "CryptoObject.h"
00008 
00009 class Session;
00014 class Mechanism : public GenericCryptoObject
00015 {
00016   public:
00020     virtual ~Mechanism(){}
00021     virtual string getName(void) = 0;
00022     virtual CK_RV getInfo(CK_MECHANISM_INFO_PTR infoOut) = 0;
00026       virtual CK_MECHANISM_TYPE getType(void) = 0;
00030     virtual CK_ULONG getMinKeySize(void) = 0;
00034     virtual CK_ULONG getMaxKeySize(void) = 0;
00038     virtual CK_FLAGS getFlags(void) = 0;
00050     virtual CK_ULONG sign(Session* sess,CK_BYTE* in,CK_ULONG inLen,CK_BYTE* out,CK_ULONG* outLen) = 0;
00062     virtual CK_ULONG decrypt(Session* sess,CK_BYTE* in,CK_ULONG inLen,CK_BYTE* out,CK_ULONG* outLen) = 0;
00063 
00064 };
00065 #endif

Generated on Fri Jan 12 15:48:41 2007 for NIST_PKCS11 by doxygen 1.3.1 using KingsTools