Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
P6R::p6ITokenImpl Interface Referenceabstract

#include <p6tokenimpl.h>

Inherits P6R::p6ICom.

Public Member Functions

virtual P6INT32 addref (void)=0
 
virtual P6R::P6ERR cancelFunction (CK_RV *pRV, CK_SESSION_HANDLE hSession)=0
 
virtual P6R::P6ERR closeSession (CK_RV *pRV, CK_SESSION_HANDLE hSession)=0
 
virtual P6R::P6ERR copyObject (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phNewObject)=0
 
virtual P6R::P6ERR createObject (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject)=0
 
virtual P6R::P6ERR decrypt (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)=0
 
virtual P6R::P6ERR decryptDigestUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)=0
 
virtual P6R::P6ERR decryptFinal (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastPart, CK_ULONG_PTR pulLastPartLen)=0
 
virtual P6R::P6ERR decryptInit (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)=0
 
virtual P6R::P6ERR decryptUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)=0
 
virtual P6R::P6ERR decryptVerifyUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)=0
 
virtual P6R::P6ERR deriveKey (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hBaseKey, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey)=0
 
virtual P6R::P6ERR destroyObject (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)=0
 
virtual P6R::P6ERR digest (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)=0
 
virtual P6R::P6ERR digestEncryptUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen)=0
 
virtual P6R::P6ERR digestFinal (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)=0
 
virtual P6R::P6ERR digestInit (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism)=0
 
virtual P6R::P6ERR digestKey (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hKey)=0
 
virtual P6R::P6ERR digestUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)=0
 
virtual P6R::P6ERR encrypt (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen)=0
 
virtual P6R::P6ERR encryptFinal (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastEncryptedPart, CK_ULONG_PTR pulLastEncryptedPartLen)=0
 
virtual P6R::P6ERR encryptInit (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)=0
 
virtual P6R::P6ERR encryptUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen)=0
 
virtual P6R::P6ERR finalize (CK_VOID_PTR pReserved)=0
 
virtual P6R::P6ERR findObjects (ADD_OBJECT_TO_SESSION pCallback, CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount)=0
 
virtual P6R::P6ERR findObjectsFinal (CK_RV *pRV, CK_SESSION_HANDLE hSession)=0
 
virtual P6R::P6ERR findObjectsInit (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)=0
 
virtual P6R::P6ERR generateKey (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey)=0
 
virtual P6R::P6ERR generateKeyPair (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pPublicKeyTemplate, CK_ULONG ulPublicKeyAttributeCount, CK_ATTRIBUTE_PTR pPrivateKeyTemplate, CK_ULONG ulPrivateKeyAttributeCount, CK_OBJECT_HANDLE_PTR phPublicKey, CK_OBJECT_HANDLE_PTR phPrivateKey)=0
 
virtual P6R::P6ERR generateRandom (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pRandomData, CK_ULONG ulRandomLen)=0
 
virtual P6R::P6ERR getAttributeValue (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)=0
 
virtual P6R::P6ERR getFunctionStatus (CK_RV *pRV, CK_SESSION_HANDLE hSession)=0
 
virtual P6R::P6ERR getMechanismInfo (CK_RV *pRV, CK_SLOT_ID slotId, CK_MECHANISM_TYPE mechType, CK_MECHANISM_INFO_PTR pInfo)=0
 
virtual P6R::P6ERR getMechanismList (CK_RV *pRV, CK_SLOT_ID slotId, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount)=0
 
virtual P6R::P6ERR getObjectSize (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize)=0
 
virtual P6R::P6ERR getOperationState (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG_PTR pulOperationStateLen)=0
 
virtual P6R::P6ERR getSessionInfo (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_SESSION_INFO_PTR pInfo)=0
 
virtual P6R::P6ERR getTokenInfo (CK_RV *pRV, CK_SLOT_ID slotId, CK_TOKEN_INFO_PTR pInfo)=0
 
virtual P6R::P6ERR initialize (P6UINT32 libWideFlags, P6BWCSTR *pTokenType)=0
 
virtual P6R::P6ERR initPin (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)=0
 
virtual P6R::P6ERR initToken (CK_RV *pRV, P6BOOL bFirst, CK_SLOT_ID slotId, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen, CK_UTF8CHAR_PTR pLabel)=0
 
virtual P6R::P6ERR login (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)=0
 
virtual P6R::P6ERR logout (CK_RV *pRV, CK_SESSION_HANDLE hSession)=0
 
virtual P6R::P6ERR openSession (CK_RV *pRV, CK_SLOT_ID slotId, CK_FLAGS flags, CK_VOID_PTR pApplication, CK_NOTIFY Notify, CK_SESSION_HANDLE hSession)=0
 
virtual P6R::P6ERR queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0
 
virtual P6R::P6ERR reInitToken (CK_RV *pRV, CK_SLOT_ID slotId, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen, CK_UTF8CHAR_PTR pLabel)=0
 
virtual P6INT32 release (void)=0
 
virtual P6R::P6ERR seedRandom (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen)=0
 
virtual P6R::P6ERR setAttributeValue (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)=0
 
virtual P6R::P6ERR setOperationState (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG ulOperationStateLen, CK_OBJECT_HANDLE hEncryptionKey, CK_OBJECT_HANDLE hAuthenticationKey)=0
 
virtual P6R::P6ERR setPIN (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pOldPin, CK_ULONG ulOldLen, CK_UTF8CHAR_PTR pNewPin, CK_ULONG ulNewLen)=0
 
virtual P6R::P6ERR sign (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)=0
 
virtual P6R::P6ERR signEncryptUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)=0
 
virtual P6R::P6ERR signFinal (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)=0
 
virtual P6R::P6ERR signInit (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)=0
 
virtual P6R::P6ERR signRecover (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)=0
 
virtual P6R::P6ERR signRecoverInit (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)=0
 
virtual P6R::P6ERR signUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)=0
 
virtual P6R::P6ERR unwrapKey (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hUnwrappingKey, CK_BYTE_PTR pWrappedKey, CK_ULONG ulWrappedKeyLen, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey)=0
 
virtual P6R::P6ERR verify (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)=0
 
virtual P6R::P6ERR verifyFinal (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)=0
 
virtual P6R::P6ERR verifyInit (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)=0
 
virtual P6R::P6ERR verifyRecover (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)=0
 
virtual P6R::P6ERR verifyRecoverInit (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)=0
 
virtual P6R::P6ERR verifyUpdate (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)=0
 
virtual P6R::P6ERR waitForSlotEvent (CK_RV *pRV, CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, CK_VOID_PTR pReserved)=0
 
virtual P6R::P6ERR wrapKey (CK_RV *pRV, CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hWrappingKey, CK_OBJECT_HANDLE hKey, CK_BYTE_PTR pWrappedKey, CK_ULONG_PTR pulWrappedKeyLen)=0
 

Detailed Description

This is an internal interface that forwards the PKCS 11 token interface to a "named" implementation.

The enclosing PKCS 11 library performs the following functions: all slot APIs, all threading support (i.e., locking), session management, and security checks.

Only one instance of a token implementation is created for all defined slots. Thus an implementation must manage multiple token instances in that one instance via the slotId passed in as a parameter.

Definition at line 57 of file p6tokenimpl.h.


The documentation for this interface was generated from the following file: