mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-13 23:17:57 +00:00
1050 lines
18 KiB
C
1050 lines
18 KiB
C
/* ***** BEGIN LICENSE BLOCK *****
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
*
|
|
* 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 the Initial Developer are Copyright (C) 1994-2000
|
|
* the Initial Developer. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*
|
|
* Alternatively, the contents of this file may be used under the terms of
|
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
* of those above. If you wish to allow use of your version of this file only
|
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
* use your version of this file under the terms of the MPL, indicate your
|
|
* decision by deleting the provisions above and replace them with the notice
|
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
* the provisions above, a recipient may use your version of this file under
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
*
|
|
* ***** END LICENSE BLOCK ***** */
|
|
|
|
#ifndef NSSCKFWC_H
|
|
#define NSSCKFWC_H
|
|
|
|
#ifdef DEBUG
|
|
static const char NSSCKFWC_CVS_ID[] = "@(#) $RCSfile: nssckfwc.h,v $ $Revision: 1.3 $ $Date: 2005/01/20 02:25:45 $";
|
|
#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 */
|