mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-06 17:16:12 +00:00
1047 lines
18 KiB
C
1047 lines
18 KiB
C
/*
|
|
* The contents of this file are subject to the Mozilla Public
|
|
* License Version 1.1 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS
|
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
* implied. See the License for the specific language governing
|
|
* rights and limitations under the License.
|
|
*
|
|
* The Original Code is the Netscape security libraries.
|
|
*
|
|
* The Initial Developer of the Original Code is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
|
* Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*
|
|
* Alternatively, the contents of this file may be used under the
|
|
* terms of the GNU General Public License Version 2 or later (the
|
|
* "GPL"), in which case the provisions of the GPL are applicable
|
|
* instead of those above. If you wish to allow use of your
|
|
* version of this file only under the terms of the GPL and not to
|
|
* allow others to use your version of this file under the MPL,
|
|
* indicate your decision by deleting the provisions above and
|
|
* replace them with the notice and other provisions required by
|
|
* the GPL. If you do not delete the provisions above, a recipient
|
|
* may use your version of this file under either the MPL or the
|
|
* GPL.
|
|
*/
|
|
|
|
#ifndef NSSCKFWC_H
|
|
#define NSSCKFWC_H
|
|
|
|
#ifdef DEBUG
|
|
static const char NSSCKFWC_CVS_ID[] = "@(#) $RCSfile: nssckfwc.h,v $ $Revision: 1.1 $ $Date: 2000/03/31 19:43:29 $ $Name: $";
|
|
#endif /* DEBUG */
|
|
|
|
/*
|
|
* 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 */
|