00001 #ifndef CRYPTO_OBJECT_H
00002 #define CRYPTO_OBJECT_H
00003
00004
00005 #include "common.h"
00006
00011 class CryptoObject
00012 {
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 public:
00026
00027
00028 virtual ~CryptoObject(){}
00032 virtual const char* getDescription() = 0;
00036 virtual CK_OBJECT_HANDLE getHandle() = 0;
00043 virtual CK_ATTRIBUTE* getAttribute(CK_ATTRIBUTE_TYPE type) = 0;
00047 virtual map<CK_ATTRIBUTE_TYPE,CK_ATTRIBUTE*> getAttributes() = 0;
00052 virtual CK_OBJECT_CLASS getClass() = 0;
00060 virtual CK_ATTRIBUTE* matchAttribute(CK_ATTRIBUTE* attrib) = 0;
00066 virtual bool doAllAttribsMatch(CK_ATTRIBUTE* attributes,CK_ULONG numAttribs) = 0;
00067
00068
00069 };
00070 #endif