зеркало из https://github.com/mozilla/gecko-dev.git
880 строки
17 KiB
C
880 строки
17 KiB
C
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef NSSCKFWC_H
|
|
#define NSSCKFWC_H
|
|
|
|
/*
|
|
* nssckfwc.h
|
|
*
|
|
* This file prototypes all of the NSS Cryptoki Framework "wrapper"
|
|
* which implement the PKCS#11 API. Technically, these are public
|
|
* routines (with capital "NSS" prefixes), since they are called
|
|
* from (generated) code within a Module using the Framework.
|
|
* However, they should not be called except from those generated
|
|
* calls. Hence, the prototypes have been split out into this file.
|
|
*/
|
|
|
|
#ifndef NSSCKT_H
|
|
#include "nssckt.h"
|
|
#endif /* NSSCKT_H */
|
|
|
|
#ifndef NSSCKFWT_H
|
|
#include "nssckfwt.h"
|
|
#endif /* NSSCKFWT_H */
|
|
|
|
#ifndef NSSCKMDT_H
|
|
#include "nssckmdt.h"
|
|
#endif /* NSSCKMDT_H */
|
|
|
|
/*
|
|
* NSSCKFWC_Initialize
|
|
* NSSCKFWC_Finalize
|
|
* NSSCKFWC_GetInfo
|
|
* -- NSSCKFWC_GetFunctionList -- see the API insert file
|
|
* NSSCKFWC_GetSlotList
|
|
* NSSCKFWC_GetSlotInfo
|
|
* NSSCKFWC_GetTokenInfo
|
|
* NSSCKFWC_WaitForSlotEvent
|
|
* NSSCKFWC_GetMechanismList
|
|
* NSSCKFWC_GetMechanismInfo
|
|
* NSSCKFWC_InitToken
|
|
* NSSCKFWC_InitPIN
|
|
* NSSCKFWC_SetPIN
|
|
* NSSCKFWC_OpenSession
|
|
* NSSCKFWC_CloseSession
|
|
* NSSCKFWC_CloseAllSessions
|
|
* NSSCKFWC_GetSessionInfo
|
|
* NSSCKFWC_GetOperationState
|
|
* NSSCKFWC_SetOperationState
|
|
* NSSCKFWC_Login
|
|
* NSSCKFWC_Logout
|
|
* NSSCKFWC_CreateObject
|
|
* NSSCKFWC_CopyObject
|
|
* NSSCKFWC_DestroyObject
|
|
* NSSCKFWC_GetObjectSize
|
|
* NSSCKFWC_GetAttributeValue
|
|
* NSSCKFWC_SetAttributeValue
|
|
* NSSCKFWC_FindObjectsInit
|
|
* NSSCKFWC_FindObjects
|
|
* NSSCKFWC_FindObjectsFinal
|
|
* NSSCKFWC_EncryptInit
|
|
* NSSCKFWC_Encrypt
|
|
* NSSCKFWC_EncryptUpdate
|
|
* NSSCKFWC_EncryptFinal
|
|
* NSSCKFWC_DecryptInit
|
|
* NSSCKFWC_Decrypt
|
|
* NSSCKFWC_DecryptUpdate
|
|
* NSSCKFWC_DecryptFinal
|
|
* NSSCKFWC_DigestInit
|
|
* NSSCKFWC_Digest
|
|
* NSSCKFWC_DigestUpdate
|
|
* NSSCKFWC_DigestKey
|
|
* NSSCKFWC_DigestFinal
|
|
* NSSCKFWC_SignInit
|
|
* NSSCKFWC_Sign
|
|
* NSSCKFWC_SignUpdate
|
|
* NSSCKFWC_SignFinal
|
|
* NSSCKFWC_SignRecoverInit
|
|
* NSSCKFWC_SignRecover
|
|
* NSSCKFWC_VerifyInit
|
|
* NSSCKFWC_Verify
|
|
* NSSCKFWC_VerifyUpdate
|
|
* NSSCKFWC_VerifyFinal
|
|
* NSSCKFWC_VerifyRecoverInit
|
|
* NSSCKFWC_VerifyRecover
|
|
* NSSCKFWC_DigestEncryptUpdate
|
|
* NSSCKFWC_DecryptDigestUpdate
|
|
* NSSCKFWC_SignEncryptUpdate
|
|
* NSSCKFWC_DecryptVerifyUpdate
|
|
* NSSCKFWC_GenerateKey
|
|
* NSSCKFWC_GenerateKeyPair
|
|
* NSSCKFWC_WrapKey
|
|
* NSSCKFWC_UnwrapKey
|
|
* NSSCKFWC_DeriveKey
|
|
* NSSCKFWC_SeedRandom
|
|
* NSSCKFWC_GenerateRandom
|
|
* NSSCKFWC_GetFunctionStatus
|
|
* NSSCKFWC_CancelFunction
|
|
*/
|
|
|
|
/*
|
|
* NSSCKFWC_Initialize
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Initialize(
|
|
NSSCKFWInstance **pFwInstance,
|
|
NSSCKMDInstance *mdInstance,
|
|
CK_VOID_PTR pInitArgs);
|
|
|
|
/*
|
|
* NSSCKFWC_Finalize
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Finalize(
|
|
NSSCKFWInstance **pFwInstance);
|
|
|
|
/*
|
|
* NSSCKFWC_GetInfo
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetInfo(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_INFO_PTR pInfo);
|
|
|
|
/*
|
|
* C_GetFunctionList is implemented entirely in the Module's file which
|
|
* includes the Framework API insert file. It requires no "actual"
|
|
* NSSCKFW routine.
|
|
*/
|
|
|
|
/*
|
|
* NSSCKFWC_GetSlotList
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetSlotList(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_BBOOL tokenPresent,
|
|
CK_SLOT_ID_PTR pSlotList,
|
|
CK_ULONG_PTR pulCount);
|
|
|
|
/*
|
|
* NSSCKFWC_GetSlotInfo
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetSlotInfo(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SLOT_ID slotID,
|
|
CK_SLOT_INFO_PTR pInfo);
|
|
|
|
/*
|
|
* NSSCKFWC_GetTokenInfo
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetTokenInfo(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SLOT_ID slotID,
|
|
CK_TOKEN_INFO_PTR pInfo);
|
|
|
|
/*
|
|
* NSSCKFWC_WaitForSlotEvent
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_WaitForSlotEvent(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_FLAGS flags,
|
|
CK_SLOT_ID_PTR pSlot,
|
|
CK_VOID_PTR pReserved);
|
|
|
|
/*
|
|
* NSSCKFWC_GetMechanismList
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetMechanismList(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SLOT_ID slotID,
|
|
CK_MECHANISM_TYPE_PTR pMechanismList,
|
|
CK_ULONG_PTR pulCount);
|
|
|
|
/*
|
|
* NSSCKFWC_GetMechanismInfo
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetMechanismInfo(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SLOT_ID slotID,
|
|
CK_MECHANISM_TYPE type,
|
|
CK_MECHANISM_INFO_PTR pInfo);
|
|
|
|
/*
|
|
* NSSCKFWC_InitToken
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_InitToken(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SLOT_ID slotID,
|
|
CK_CHAR_PTR pPin,
|
|
CK_ULONG ulPinLen,
|
|
CK_CHAR_PTR pLabel);
|
|
|
|
/*
|
|
* NSSCKFWC_InitPIN
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_InitPIN(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_CHAR_PTR pPin,
|
|
CK_ULONG ulPinLen);
|
|
|
|
/*
|
|
* NSSCKFWC_SetPIN
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SetPIN(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_CHAR_PTR pOldPin,
|
|
CK_ULONG ulOldLen,
|
|
CK_CHAR_PTR pNewPin,
|
|
CK_ULONG ulNewLen);
|
|
|
|
/*
|
|
* NSSCKFWC_OpenSession
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_OpenSession(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SLOT_ID slotID,
|
|
CK_FLAGS flags,
|
|
CK_VOID_PTR pApplication,
|
|
CK_NOTIFY Notify,
|
|
CK_SESSION_HANDLE_PTR phSession);
|
|
|
|
/*
|
|
* NSSCKFWC_CloseSession
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_CloseSession(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession);
|
|
|
|
/*
|
|
* NSSCKFWC_CloseAllSessions
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_CloseAllSessions(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SLOT_ID slotID);
|
|
|
|
/*
|
|
* NSSCKFWC_GetSessionInfo
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetSessionInfo(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_SESSION_INFO_PTR pInfo);
|
|
|
|
/*
|
|
* NSSCKFWC_GetOperationState
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetOperationState(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pOperationState,
|
|
CK_ULONG_PTR pulOperationStateLen);
|
|
|
|
/*
|
|
* NSSCKFWC_SetOperationState
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SetOperationState(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pOperationState,
|
|
CK_ULONG ulOperationStateLen,
|
|
CK_OBJECT_HANDLE hEncryptionKey,
|
|
CK_OBJECT_HANDLE hAuthenticationKey);
|
|
|
|
/*
|
|
* NSSCKFWC_Login
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Login(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_USER_TYPE userType,
|
|
CK_CHAR_PTR pPin,
|
|
CK_ULONG ulPinLen);
|
|
|
|
/*
|
|
* NSSCKFWC_Logout
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Logout(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession);
|
|
|
|
/*
|
|
* NSSCKFWC_CreateObject
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_CreateObject(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_ATTRIBUTE_PTR pTemplate,
|
|
CK_ULONG ulCount,
|
|
CK_OBJECT_HANDLE_PTR phObject);
|
|
|
|
/*
|
|
* NSSCKFWC_CopyObject
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_CopyObject(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_OBJECT_HANDLE hObject,
|
|
CK_ATTRIBUTE_PTR pTemplate,
|
|
CK_ULONG ulCount,
|
|
CK_OBJECT_HANDLE_PTR phNewObject);
|
|
|
|
/*
|
|
* NSSCKFWC_DestroyObject
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DestroyObject(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_OBJECT_HANDLE hObject);
|
|
|
|
/*
|
|
* NSSCKFWC_GetObjectSize
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetObjectSize(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_OBJECT_HANDLE hObject,
|
|
CK_ULONG_PTR pulSize);
|
|
|
|
/*
|
|
* NSSCKFWC_GetAttributeValue
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetAttributeValue(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_OBJECT_HANDLE hObject,
|
|
CK_ATTRIBUTE_PTR pTemplate,
|
|
CK_ULONG ulCount);
|
|
|
|
/*
|
|
* NSSCKFWC_SetAttributeValue
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SetAttributeValue(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_OBJECT_HANDLE hObject,
|
|
CK_ATTRIBUTE_PTR pTemplate,
|
|
CK_ULONG ulCount);
|
|
|
|
/*
|
|
* NSSCKFWC_FindObjectsInit
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_FindObjectsInit(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_ATTRIBUTE_PTR pTemplate,
|
|
CK_ULONG ulCount);
|
|
|
|
/*
|
|
* NSSCKFWC_FindObjects
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_FindObjects(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_OBJECT_HANDLE_PTR phObject,
|
|
CK_ULONG ulMaxObjectCount,
|
|
CK_ULONG_PTR pulObjectCount);
|
|
|
|
/*
|
|
* NSSCKFWC_FindObjectsFinal
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_FindObjectsFinal(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession);
|
|
|
|
/*
|
|
* NSSCKFWC_EncryptInit
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_EncryptInit(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_OBJECT_HANDLE hKey);
|
|
|
|
/*
|
|
* NSSCKFWC_Encrypt
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Encrypt(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pData,
|
|
CK_ULONG ulDataLen,
|
|
CK_BYTE_PTR pEncryptedData,
|
|
CK_ULONG_PTR pulEncryptedDataLen);
|
|
|
|
/*
|
|
* NSSCKFWC_EncryptUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_EncryptUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pPart,
|
|
CK_ULONG ulPartLen,
|
|
CK_BYTE_PTR pEncryptedPart,
|
|
CK_ULONG_PTR pulEncryptedPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_EncryptFinal
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_EncryptFinal(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pLastEncryptedPart,
|
|
CK_ULONG_PTR pulLastEncryptedPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DecryptInit
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DecryptInit(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_OBJECT_HANDLE hKey);
|
|
|
|
/*
|
|
* NSSCKFWC_Decrypt
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Decrypt(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pEncryptedData,
|
|
CK_ULONG ulEncryptedDataLen,
|
|
CK_BYTE_PTR pData,
|
|
CK_ULONG_PTR pulDataLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DecryptUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DecryptUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pEncryptedPart,
|
|
CK_ULONG ulEncryptedPartLen,
|
|
CK_BYTE_PTR pPart,
|
|
CK_ULONG_PTR pulPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DecryptFinal
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DecryptFinal(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pLastPart,
|
|
CK_ULONG_PTR pulLastPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DigestInit
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DigestInit(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism);
|
|
|
|
/*
|
|
* NSSCKFWC_Digest
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Digest(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pData,
|
|
CK_ULONG ulDataLen,
|
|
CK_BYTE_PTR pDigest,
|
|
CK_ULONG_PTR pulDigestLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DigestUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DigestUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pData,
|
|
CK_ULONG ulDataLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DigestKey
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DigestKey(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_OBJECT_HANDLE hKey);
|
|
|
|
/*
|
|
* NSSCKFWC_DigestFinal
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DigestFinal(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pDigest,
|
|
CK_ULONG_PTR pulDigestLen);
|
|
|
|
/*
|
|
* NSSCKFWC_SignInit
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SignInit(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_OBJECT_HANDLE hKey);
|
|
|
|
/*
|
|
* NSSCKFWC_Sign
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Sign(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pData,
|
|
CK_ULONG ulDataLen,
|
|
CK_BYTE_PTR pSignature,
|
|
CK_ULONG_PTR pulSignatureLen);
|
|
|
|
/*
|
|
* NSSCKFWC_SignUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SignUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pPart,
|
|
CK_ULONG ulPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_SignFinal
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SignFinal(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pSignature,
|
|
CK_ULONG_PTR pulSignatureLen);
|
|
|
|
/*
|
|
* NSSCKFWC_SignRecoverInit
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SignRecoverInit(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_OBJECT_HANDLE hKey);
|
|
|
|
/*
|
|
* NSSCKFWC_SignRecover
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SignRecover(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pData,
|
|
CK_ULONG ulDataLen,
|
|
CK_BYTE_PTR pSignature,
|
|
CK_ULONG_PTR pulSignatureLen);
|
|
|
|
/*
|
|
* NSSCKFWC_VerifyInit
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_VerifyInit(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_OBJECT_HANDLE hKey);
|
|
|
|
/*
|
|
* NSSCKFWC_Verify
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_Verify(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pData,
|
|
CK_ULONG ulDataLen,
|
|
CK_BYTE_PTR pSignature,
|
|
CK_ULONG ulSignatureLen);
|
|
|
|
/*
|
|
* NSSCKFWC_VerifyUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_VerifyUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pPart,
|
|
CK_ULONG ulPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_VerifyFinal
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_VerifyFinal(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pSignature,
|
|
CK_ULONG ulSignatureLen);
|
|
|
|
/*
|
|
* NSSCKFWC_VerifyRecoverInit
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_VerifyRecoverInit(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_OBJECT_HANDLE hKey);
|
|
|
|
/*
|
|
* NSSCKFWC_VerifyRecover
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_VerifyRecover(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pSignature,
|
|
CK_ULONG ulSignatureLen,
|
|
CK_BYTE_PTR pData,
|
|
CK_ULONG_PTR pulDataLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DigestEncryptUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DigestEncryptUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pPart,
|
|
CK_ULONG ulPartLen,
|
|
CK_BYTE_PTR pEncryptedPart,
|
|
CK_ULONG_PTR pulEncryptedPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DecryptDigestUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DecryptDigestUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pEncryptedPart,
|
|
CK_ULONG ulEncryptedPartLen,
|
|
CK_BYTE_PTR pPart,
|
|
CK_ULONG_PTR pulPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_SignEncryptUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SignEncryptUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pPart,
|
|
CK_ULONG ulPartLen,
|
|
CK_BYTE_PTR pEncryptedPart,
|
|
CK_ULONG_PTR pulEncryptedPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_DecryptVerifyUpdate
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DecryptVerifyUpdate(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pEncryptedPart,
|
|
CK_ULONG ulEncryptedPartLen,
|
|
CK_BYTE_PTR pPart,
|
|
CK_ULONG_PTR pulPartLen);
|
|
|
|
/*
|
|
* NSSCKFWC_GenerateKey
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GenerateKey(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_ATTRIBUTE_PTR pTemplate,
|
|
CK_ULONG ulCount,
|
|
CK_OBJECT_HANDLE_PTR phKey);
|
|
|
|
/*
|
|
* NSSCKFWC_GenerateKeyPair
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GenerateKeyPair(
|
|
NSSCKFWInstance *fwInstance,
|
|
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);
|
|
|
|
/*
|
|
* NSSCKFWC_WrapKey
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_WrapKey(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_OBJECT_HANDLE hWrappingKey,
|
|
CK_OBJECT_HANDLE hKey,
|
|
CK_BYTE_PTR pWrappedKey,
|
|
CK_ULONG_PTR pulWrappedKeyLen);
|
|
|
|
/*
|
|
* NSSCKFWC_UnwrapKey
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_UnwrapKey(
|
|
NSSCKFWInstance *fwInstance,
|
|
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);
|
|
|
|
/*
|
|
* NSSCKFWC_DeriveKey
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_DeriveKey(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_MECHANISM_PTR pMechanism,
|
|
CK_OBJECT_HANDLE hBaseKey,
|
|
CK_ATTRIBUTE_PTR pTemplate,
|
|
CK_ULONG ulAttributeCount,
|
|
CK_OBJECT_HANDLE_PTR phKey);
|
|
|
|
/*
|
|
* NSSCKFWC_SeedRandom
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_SeedRandom(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pSeed,
|
|
CK_ULONG ulSeedLen);
|
|
|
|
/*
|
|
* NSSCKFWC_GenerateRandom
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GenerateRandom(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession,
|
|
CK_BYTE_PTR pRandomData,
|
|
CK_ULONG ulRandomLen);
|
|
|
|
/*
|
|
* NSSCKFWC_GetFunctionStatus
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_GetFunctionStatus(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession);
|
|
|
|
/*
|
|
* NSSCKFWC_CancelFunction
|
|
*
|
|
*/
|
|
NSS_EXTERN CK_RV
|
|
NSSCKFWC_CancelFunction(
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_SESSION_HANDLE hSession);
|
|
|
|
#endif /* NSSCKFWC_H */
|