nssckfwc.h
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:18k
源码类别:

CA认证

开发平台:

WINDOWS

  1. /* 
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  * 
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  * 
  12.  * The Original Code is the Netscape security libraries.
  13.  * 
  14.  * The Initial Developer of the Original Code is Netscape
  15.  * Communications Corporation.  Portions created by Netscape are 
  16.  * Copyright (C) 1994-2000 Netscape Communications Corporation.  All
  17.  * Rights Reserved.
  18.  * 
  19.  * Contributor(s):
  20.  * 
  21.  * Alternatively, the contents of this file may be used under the
  22.  * terms of the GNU General Public License Version 2 or later (the
  23.  * "GPL"), in which case the provisions of the GPL are applicable 
  24.  * instead of those above.  If you wish to allow use of your 
  25.  * version of this file only under the terms of the GPL and not to
  26.  * allow others to use your version of this file under the MPL,
  27.  * indicate your decision by deleting the provisions above and
  28.  * replace them with the notice and other provisions required by
  29.  * the GPL.  If you do not delete the provisions above, a recipient
  30.  * may use your version of this file under either the MPL or the
  31.  * GPL.
  32.  */
  33. #ifndef NSSCKFWC_H
  34. #define NSSCKFWC_H
  35. #ifdef DEBUG
  36. static const char NSSCKFWC_CVS_ID[] = "@(#) $RCSfile: nssckfwc.h,v $ $Revision: 1.1 $ $Date: 2000/03/31 19:43:29 $ $Name: NSS_3_1_1_RTM $";
  37. #endif /* DEBUG */
  38. /*
  39.  * nssckfwc.h
  40.  *
  41.  * This file prototypes all of the NSS Cryptoki Framework "wrapper" 
  42.  * which implement the PKCS#11 API.  Technically, these are public
  43.  * routines (with capital "NSS" prefixes), since they are called
  44.  * from (generated) code within a Module using the Framework.
  45.  * However, they should not be called except from those generated
  46.  * calls.  Hence, the prototypes have been split out into this file.
  47.  */
  48. #ifndef NSSCKT_H
  49. #include "nssckt.h"
  50. #endif /* NSSCKT_H */
  51. #ifndef NSSCKFWT_H
  52. #include "nssckfwt.h"
  53. #endif /* NSSCKFWT_H */
  54. #ifndef NSSCKMDT_H
  55. #include "nssckmdt.h"
  56. #endif /* NSSCKMDT_H */
  57. /*
  58.  * NSSCKFWC_Initialize
  59.  * NSSCKFWC_Finalize
  60.  * NSSCKFWC_GetInfo
  61.  * -- NSSCKFWC_GetFunctionList -- see the API insert file
  62.  * NSSCKFWC_GetSlotList
  63.  * NSSCKFWC_GetSlotInfo
  64.  * NSSCKFWC_GetTokenInfo
  65.  * NSSCKFWC_WaitForSlotEvent
  66.  * NSSCKFWC_GetMechanismList
  67.  * NSSCKFWC_GetMechanismInfo
  68.  * NSSCKFWC_InitToken
  69.  * NSSCKFWC_InitPIN
  70.  * NSSCKFWC_SetPIN
  71.  * NSSCKFWC_OpenSession
  72.  * NSSCKFWC_CloseSession
  73.  * NSSCKFWC_CloseAllSessions
  74.  * NSSCKFWC_GetSessionInfo
  75.  * NSSCKFWC_GetOperationState
  76.  * NSSCKFWC_SetOperationState
  77.  * NSSCKFWC_Login
  78.  * NSSCKFWC_Logout
  79.  * NSSCKFWC_CreateObject
  80.  * NSSCKFWC_CopyObject
  81.  * NSSCKFWC_DestroyObject
  82.  * NSSCKFWC_GetObjectSize
  83.  * NSSCKFWC_GetAttributeValue
  84.  * NSSCKFWC_SetAttributeValue
  85.  * NSSCKFWC_FindObjectsInit
  86.  * NSSCKFWC_FindObjects
  87.  * NSSCKFWC_FindObjectsFinal
  88.  * NSSCKFWC_EncryptInit
  89.  * NSSCKFWC_Encrypt
  90.  * NSSCKFWC_EncryptUpdate
  91.  * NSSCKFWC_EncryptFinal
  92.  * NSSCKFWC_DecryptInit
  93.  * NSSCKFWC_Decrypt
  94.  * NSSCKFWC_DecryptUpdate
  95.  * NSSCKFWC_DecryptFinal
  96.  * NSSCKFWC_DigestInit
  97.  * NSSCKFWC_Digest
  98.  * NSSCKFWC_DigestUpdate
  99.  * NSSCKFWC_DigestKey
  100.  * NSSCKFWC_DigestFinal
  101.  * NSSCKFWC_SignInit
  102.  * NSSCKFWC_Sign
  103.  * NSSCKFWC_SignUpdate
  104.  * NSSCKFWC_SignFinal
  105.  * NSSCKFWC_SignRecoverInit
  106.  * NSSCKFWC_SignRecover
  107.  * NSSCKFWC_VerifyInit
  108.  * NSSCKFWC_Verify
  109.  * NSSCKFWC_VerifyUpdate
  110.  * NSSCKFWC_VerifyFinal
  111.  * NSSCKFWC_VerifyRecoverInit
  112.  * NSSCKFWC_VerifyRecover
  113.  * NSSCKFWC_DigestEncryptUpdate
  114.  * NSSCKFWC_DecryptDigestUpdate
  115.  * NSSCKFWC_SignEncryptUpdate
  116.  * NSSCKFWC_DecryptVerifyUpdate
  117.  * NSSCKFWC_GenerateKey
  118.  * NSSCKFWC_GenerateKeyPair
  119.  * NSSCKFWC_WrapKey
  120.  * NSSCKFWC_UnwrapKey
  121.  * NSSCKFWC_DeriveKey
  122.  * NSSCKFWC_SeedRandom
  123.  * NSSCKFWC_GenerateRandom
  124.  * NSSCKFWC_GetFunctionStatus
  125.  * NSSCKFWC_CancelFunction
  126.  */
  127. /*
  128.  * NSSCKFWC_Initialize
  129.  *
  130.  */
  131. NSS_EXTERN CK_RV
  132. NSSCKFWC_Initialize
  133. (
  134.   NSSCKFWInstance **pFwInstance,
  135.   NSSCKMDInstance *mdInstance,
  136.   CK_VOID_PTR pInitArgs
  137. );
  138. /*
  139.  * NSSCKFWC_Finalize
  140.  *
  141.  */
  142. NSS_EXTERN CK_RV
  143. NSSCKFWC_Finalize
  144. (
  145.   NSSCKFWInstance **pFwInstance
  146. );
  147. /*
  148.  * NSSCKFWC_GetInfo
  149.  *
  150.  */
  151. NSS_EXTERN CK_RV
  152. NSSCKFWC_GetInfo
  153. (
  154.   NSSCKFWInstance *fwInstance,
  155.   CK_INFO_PTR pInfo
  156. );
  157.   
  158. /*
  159.  * C_GetFunctionList is implemented entirely in the Module's file which
  160.  * includes the Framework API insert file.  It requires no "actual"
  161.  * NSSCKFW routine.
  162.  */
  163. /*
  164.  * NSSCKFWC_GetSlotList
  165.  *
  166.  */
  167. NSS_EXTERN CK_RV
  168. NSSCKFWC_GetSlotList
  169. (
  170.   NSSCKFWInstance *fwInstance,
  171.   CK_BBOOL tokenPresent,
  172.   CK_SLOT_ID_PTR pSlotList,
  173.   CK_ULONG_PTR pulCount
  174. );
  175.  
  176. /*
  177.  * NSSCKFWC_GetSlotInfo
  178.  *
  179.  */
  180. NSS_EXTERN CK_RV
  181. NSSCKFWC_GetSlotInfo
  182. (
  183.   NSSCKFWInstance *fwInstance,
  184.   CK_SLOT_ID slotID,
  185.   CK_SLOT_INFO_PTR pInfo
  186. );
  187. /*
  188.  * NSSCKFWC_GetTokenInfo
  189.  *
  190.  */
  191. NSS_EXTERN CK_RV
  192. NSSCKFWC_GetTokenInfo
  193. (
  194.   NSSCKFWInstance *fwInstance,
  195.   CK_SLOT_ID slotID,
  196.   CK_TOKEN_INFO_PTR pInfo
  197. );
  198. /*
  199.  * NSSCKFWC_WaitForSlotEvent
  200.  *
  201.  */
  202. NSS_EXTERN CK_RV
  203. NSSCKFWC_WaitForSlotEvent
  204. (
  205.   NSSCKFWInstance *fwInstance,
  206.   CK_FLAGS flags,
  207.   CK_SLOT_ID_PTR pSlot,
  208.   CK_VOID_PTR pReserved
  209. );
  210. /*
  211.  * NSSCKFWC_GetMechanismList
  212.  *
  213.  */
  214. NSS_EXTERN CK_RV
  215. NSSCKFWC_GetMechanismList
  216. (
  217.   NSSCKFWInstance *fwInstance,
  218.   CK_SLOT_ID slotID,
  219.   CK_MECHANISM_TYPE_PTR pMechanismList,
  220.   CK_ULONG_PTR pulCount
  221. );
  222. /*
  223.  * NSSCKFWC_GetMechanismInfo
  224.  *
  225.  */
  226. NSS_EXTERN CK_RV
  227. NSSCKFWC_GetMechanismInfo
  228. (
  229.   NSSCKFWInstance *fwInstance,
  230.   CK_SLOT_ID slotID,
  231.   CK_MECHANISM_TYPE type,
  232.   CK_MECHANISM_INFO_PTR pInfo
  233. );
  234. /*
  235.  * NSSCKFWC_InitToken
  236.  *
  237.  */
  238. NSS_EXTERN CK_RV
  239. NSSCKFWC_InitToken
  240. (
  241.   NSSCKFWInstance *fwInstance,
  242.   CK_SLOT_ID slotID,
  243.   CK_CHAR_PTR pPin,
  244.   CK_ULONG ulPinLen,
  245.   CK_CHAR_PTR pLabel
  246. );
  247. /*
  248.  * NSSCKFWC_InitPIN
  249.  *
  250.  */
  251. NSS_EXTERN CK_RV
  252. NSSCKFWC_InitPIN
  253. (
  254.   NSSCKFWInstance *fwInstance,
  255.   CK_SESSION_HANDLE hSession,
  256.   CK_CHAR_PTR pPin,
  257.   CK_ULONG ulPinLen
  258. );
  259. /*
  260.  * NSSCKFWC_SetPIN
  261.  *
  262.  */
  263. NSS_EXTERN CK_RV
  264. NSSCKFWC_SetPIN
  265. (
  266.   NSSCKFWInstance *fwInstance,
  267.   CK_SESSION_HANDLE hSession,
  268.   CK_CHAR_PTR pOldPin,
  269.   CK_ULONG ulOldLen,
  270.   CK_CHAR_PTR pNewPin,
  271.   CK_ULONG ulNewLen
  272. );
  273. /*
  274.  * NSSCKFWC_OpenSession
  275.  *
  276.  */
  277. NSS_EXTERN CK_RV
  278. NSSCKFWC_OpenSession
  279. (
  280.   NSSCKFWInstance *fwInstance,
  281.   CK_SLOT_ID slotID,
  282.   CK_FLAGS flags,
  283.   CK_VOID_PTR pApplication,
  284.   CK_NOTIFY Notify,
  285.   CK_SESSION_HANDLE_PTR phSession
  286. );
  287. /*
  288.  * NSSCKFWC_CloseSession
  289.  *
  290.  */
  291. NSS_EXTERN CK_RV
  292. NSSCKFWC_CloseSession
  293. (
  294.   NSSCKFWInstance *fwInstance,
  295.   CK_SESSION_HANDLE hSession
  296. );
  297. /*
  298.  * NSSCKFWC_CloseAllSessions
  299.  *
  300.  */
  301. NSS_EXTERN CK_RV
  302. NSSCKFWC_CloseAllSessions
  303. (
  304.   NSSCKFWInstance *fwInstance,
  305.   CK_SLOT_ID slotID
  306. );
  307. /*
  308.  * NSSCKFWC_GetSessionInfo
  309.  *
  310.  */
  311. NSS_EXTERN CK_RV
  312. NSSCKFWC_GetSessionInfo
  313. (
  314.   NSSCKFWInstance *fwInstance,
  315.   CK_SESSION_HANDLE hSession,
  316.   CK_SESSION_INFO_PTR pInfo
  317. );
  318. /*
  319.  * NSSCKFWC_GetOperationState
  320.  *
  321.  */
  322. NSS_EXTERN CK_RV
  323. NSSCKFWC_GetOperationState
  324. (
  325.   NSSCKFWInstance *fwInstance,
  326.   CK_SESSION_HANDLE hSession,
  327.   CK_BYTE_PTR pOperationState,
  328.   CK_ULONG_PTR pulOperationStateLen
  329. );
  330. /*
  331.  * NSSCKFWC_SetOperationState
  332.  *
  333.  */
  334. NSS_EXTERN CK_RV
  335. NSSCKFWC_SetOperationState
  336. (
  337.   NSSCKFWInstance *fwInstance,
  338.   CK_SESSION_HANDLE hSession,
  339.   CK_BYTE_PTR pOperationState,
  340.   CK_ULONG ulOperationStateLen,
  341.   CK_OBJECT_HANDLE hEncryptionKey,
  342.   CK_OBJECT_HANDLE hAuthenticationKey
  343. );
  344. /*
  345.  * NSSCKFWC_Login
  346.  *
  347.  */
  348. NSS_EXTERN CK_RV
  349. NSSCKFWC_Login
  350. (
  351.   NSSCKFWInstance *fwInstance,
  352.   CK_SESSION_HANDLE hSession,
  353.   CK_USER_TYPE userType,
  354.   CK_CHAR_PTR pPin,
  355.   CK_ULONG ulPinLen
  356. );
  357. /*
  358.  * NSSCKFWC_Logout
  359.  *
  360.  */
  361. NSS_EXTERN CK_RV
  362. NSSCKFWC_Logout
  363. (
  364.   NSSCKFWInstance *fwInstance,
  365.   CK_SESSION_HANDLE hSession
  366. );
  367. /*
  368.  * NSSCKFWC_CreateObject
  369.  *
  370.  */
  371. NSS_EXTERN CK_RV
  372. NSSCKFWC_CreateObject
  373. (
  374.   NSSCKFWInstance *fwInstance,
  375.   CK_SESSION_HANDLE hSession,
  376.   CK_ATTRIBUTE_PTR pTemplate,
  377.   CK_ULONG ulCount,
  378.   CK_OBJECT_HANDLE_PTR phObject
  379. );
  380. /*
  381.  * NSSCKFWC_CopyObject
  382.  *
  383.  */
  384. NSS_EXTERN CK_RV
  385. NSSCKFWC_CopyObject
  386. (
  387.   NSSCKFWInstance *fwInstance,
  388.   CK_SESSION_HANDLE hSession,
  389.   CK_OBJECT_HANDLE hObject,
  390.   CK_ATTRIBUTE_PTR pTemplate,
  391.   CK_ULONG ulCount,
  392.   CK_OBJECT_HANDLE_PTR phNewObject
  393. );
  394. /*
  395.  * NSSCKFWC_DestroyObject
  396.  *
  397.  */
  398. NSS_EXTERN CK_RV
  399. NSSCKFWC_DestroyObject
  400. (
  401.   NSSCKFWInstance *fwInstance,
  402.   CK_SESSION_HANDLE hSession,
  403.   CK_OBJECT_HANDLE hObject
  404. );
  405. /*
  406.  * NSSCKFWC_GetObjectSize
  407.  *
  408.  */
  409. NSS_EXTERN CK_RV
  410. NSSCKFWC_GetObjectSize
  411. (
  412.   NSSCKFWInstance *fwInstance,
  413.   CK_SESSION_HANDLE hSession,
  414.   CK_OBJECT_HANDLE hObject,
  415.   CK_ULONG_PTR pulSize
  416. );
  417. /*
  418.  * NSSCKFWC_GetAttributeValue
  419.  *
  420.  */
  421. NSS_EXTERN CK_RV
  422. NSSCKFWC_GetAttributeValue
  423. (
  424.   NSSCKFWInstance *fwInstance,
  425.   CK_SESSION_HANDLE hSession,
  426.   CK_OBJECT_HANDLE hObject,
  427.   CK_ATTRIBUTE_PTR pTemplate,
  428.   CK_ULONG ulCount
  429. );
  430.   
  431. /*
  432.  * NSSCKFWC_SetAttributeValue
  433.  *
  434.  */
  435. NSS_EXTERN CK_RV
  436. NSSCKFWC_SetAttributeValue
  437. (
  438.   NSSCKFWInstance *fwInstance,
  439.   CK_SESSION_HANDLE hSession,
  440.   CK_OBJECT_HANDLE hObject,
  441.   CK_ATTRIBUTE_PTR pTemplate,
  442.   CK_ULONG ulCount
  443. );
  444. /*
  445.  * NSSCKFWC_FindObjectsInit
  446.  *
  447.  */
  448. NSS_EXTERN CK_RV
  449. NSSCKFWC_FindObjectsInit
  450. (
  451.   NSSCKFWInstance *fwInstance,
  452.   CK_SESSION_HANDLE hSession,
  453.   CK_ATTRIBUTE_PTR pTemplate,
  454.   CK_ULONG ulCount
  455. );
  456. /*
  457.  * NSSCKFWC_FindObjects
  458.  *
  459.  */
  460. NSS_EXTERN CK_RV
  461. NSSCKFWC_FindObjects
  462. (
  463.   NSSCKFWInstance *fwInstance,
  464.   CK_SESSION_HANDLE hSession,
  465.   CK_OBJECT_HANDLE_PTR phObject,
  466.   CK_ULONG ulMaxObjectCount,
  467.   CK_ULONG_PTR pulObjectCount
  468. );
  469. /*
  470.  * NSSCKFWC_FindObjectsFinal
  471.  *
  472.  */
  473. NSS_EXTERN CK_RV
  474. NSSCKFWC_FindObjectsFinal
  475. (
  476.   NSSCKFWInstance *fwInstance,
  477.   CK_SESSION_HANDLE hSession
  478. );
  479. /*
  480.  * NSSCKFWC_EncryptInit
  481.  *
  482.  */
  483. NSS_EXTERN CK_RV
  484. NSSCKFWC_EncryptInit
  485. (
  486.   NSSCKFWInstance *fwInstance,
  487.   CK_SESSION_HANDLE hSession,
  488.   CK_MECHANISM_PTR pMechanism,
  489.   CK_OBJECT_HANDLE hKey
  490. );
  491. /*
  492.  * NSSCKFWC_Encrypt
  493.  *
  494.  */
  495. NSS_EXTERN CK_RV
  496. NSSCKFWC_Encrypt
  497. (
  498.   NSSCKFWInstance *fwInstance,
  499.   CK_SESSION_HANDLE hSession,
  500.   CK_BYTE_PTR pData,
  501.   CK_ULONG ulDataLen,
  502.   CK_BYTE_PTR pEncryptedData,
  503.   CK_ULONG_PTR pulEncryptedDataLen
  504. );
  505. /*
  506.  * NSSCKFWC_EncryptUpdate
  507.  *
  508.  */
  509. NSS_EXTERN CK_RV
  510. NSSCKFWC_EncryptUpdate
  511. (
  512.   NSSCKFWInstance *fwInstance,
  513.   CK_SESSION_HANDLE hSession,
  514.   CK_BYTE_PTR pPart,
  515.   CK_ULONG ulPartLen,
  516.   CK_BYTE_PTR pEncryptedPart,
  517.   CK_ULONG_PTR pulEncryptedPartLen
  518. );
  519. /*
  520.  * NSSCKFWC_EncryptFinal
  521.  *
  522.  */
  523. NSS_EXTERN CK_RV
  524. NSSCKFWC_EncryptFinal
  525. (
  526.   NSSCKFWInstance *fwInstance,
  527.   CK_SESSION_HANDLE hSession,
  528.   CK_BYTE_PTR pLastEncryptedPart,
  529.   CK_ULONG_PTR pulLastEncryptedPartLen
  530. );
  531. /*
  532.  * NSSCKFWC_DecryptInit
  533.  *
  534.  */
  535. NSS_EXTERN CK_RV
  536. NSSCKFWC_DecryptInit
  537. (
  538.   NSSCKFWInstance *fwInstance,
  539.   CK_SESSION_HANDLE hSession,
  540.   CK_MECHANISM_PTR pMechanism,
  541.   CK_OBJECT_HANDLE hKey
  542. );
  543. /*
  544.  * NSSCKFWC_Decrypt
  545.  *
  546.  */
  547. NSS_EXTERN CK_RV
  548. NSSCKFWC_Decrypt
  549. (
  550.   NSSCKFWInstance *fwInstance,
  551.   CK_SESSION_HANDLE hSession,
  552.   CK_BYTE_PTR pEncryptedData,
  553.   CK_ULONG ulEncryptedDataLen,
  554.   CK_BYTE_PTR pData,
  555.   CK_ULONG_PTR pulDataLen
  556. );
  557. /*
  558.  * NSSCKFWC_DecryptUpdate
  559.  *
  560.  */
  561. NSS_EXTERN CK_RV
  562. NSSCKFWC_DecryptUpdate
  563. (
  564.   NSSCKFWInstance *fwInstance,
  565.   CK_SESSION_HANDLE hSession,
  566.   CK_BYTE_PTR pEncryptedPart,
  567.   CK_ULONG ulEncryptedPartLen,
  568.   CK_BYTE_PTR pPart,
  569.   CK_ULONG_PTR pulPartLen
  570. );
  571. /*
  572.  * NSSCKFWC_DecryptFinal
  573.  *
  574.  */
  575. NSS_EXTERN CK_RV
  576. NSSCKFWC_DecryptFinal
  577. (
  578.   NSSCKFWInstance *fwInstance,
  579.   CK_SESSION_HANDLE hSession,
  580.   CK_BYTE_PTR pLastPart,
  581.   CK_ULONG_PTR pulLastPartLen
  582. );
  583. /*
  584.  * NSSCKFWC_DigestInit
  585.  *
  586.  */
  587. NSS_EXTERN CK_RV
  588. NSSCKFWC_DigestInit
  589. (
  590.   NSSCKFWInstance *fwInstance,
  591.   CK_SESSION_HANDLE hSession,
  592.   CK_MECHANISM_PTR pMechanism
  593. );
  594. /*
  595.  * NSSCKFWC_Digest
  596.  *
  597.  */
  598. NSS_EXTERN CK_RV
  599. NSSCKFWC_Digest
  600. (
  601.   NSSCKFWInstance *fwInstance,
  602.   CK_SESSION_HANDLE hSession,
  603.   CK_BYTE_PTR pData,
  604.   CK_ULONG ulDataLen,
  605.   CK_BYTE_PTR pDigest,
  606.   CK_ULONG_PTR pulDigestLen
  607. );
  608. /*
  609.  * NSSCKFWC_DigestUpdate
  610.  *
  611.  */
  612. NSS_EXTERN CK_RV
  613. NSSCKFWC_DigestUpdate
  614. (
  615.   NSSCKFWInstance *fwInstance,
  616.   CK_SESSION_HANDLE hSession,
  617.   CK_BYTE_PTR pData,
  618.   CK_ULONG ulDataLen
  619. );
  620. /*
  621.  * NSSCKFWC_DigestKey
  622.  *
  623.  */
  624. NSS_EXTERN CK_RV
  625. NSSCKFWC_DigestKey
  626. (
  627.   NSSCKFWInstance *fwInstance,
  628.   CK_SESSION_HANDLE hSession,
  629.   CK_OBJECT_HANDLE hKey
  630. );
  631. /*
  632.  * NSSCKFWC_DigestFinal
  633.  *
  634.  */
  635. NSS_EXTERN CK_RV
  636. NSSCKFWC_DigestFinal
  637. (
  638.   NSSCKFWInstance *fwInstance,
  639.   CK_SESSION_HANDLE hSession,
  640.   CK_BYTE_PTR pDigest,
  641.   CK_ULONG_PTR pulDigestLen
  642. );
  643. /*
  644.  * NSSCKFWC_SignInit
  645.  *
  646.  */
  647. NSS_EXTERN CK_RV
  648. NSSCKFWC_SignInit
  649. (
  650.   NSSCKFWInstance *fwInstance,
  651.   CK_SESSION_HANDLE hSession,
  652.   CK_MECHANISM_PTR pMechanism,
  653.   CK_OBJECT_HANDLE hKey
  654. );
  655. /*
  656.  * NSSCKFWC_Sign
  657.  *
  658.  */
  659. NSS_EXTERN CK_RV
  660. NSSCKFWC_Sign
  661. (
  662.   NSSCKFWInstance *fwInstance,
  663.   CK_SESSION_HANDLE hSession,
  664.   CK_BYTE_PTR pData,
  665.   CK_ULONG ulDataLen,
  666.   CK_BYTE_PTR pSignature,
  667.   CK_ULONG_PTR pulSignatureLen
  668. );
  669. /*
  670.  * NSSCKFWC_SignUpdate
  671.  *
  672.  */
  673. NSS_EXTERN CK_RV
  674. NSSCKFWC_SignUpdate
  675. (
  676.   NSSCKFWInstance *fwInstance,
  677.   CK_SESSION_HANDLE hSession,
  678.   CK_BYTE_PTR pPart,
  679.   CK_ULONG ulPartLen
  680. );
  681. /*
  682.  * NSSCKFWC_SignFinal
  683.  *
  684.  */
  685. NSS_EXTERN CK_RV
  686. NSSCKFWC_SignFinal
  687. (
  688.   NSSCKFWInstance *fwInstance,
  689.   CK_SESSION_HANDLE hSession,
  690.   CK_BYTE_PTR pSignature,
  691.   CK_ULONG_PTR pulSignatureLen
  692. );
  693. /*
  694.  * NSSCKFWC_SignRecoverInit
  695.  *
  696.  */
  697. NSS_EXTERN CK_RV
  698. NSSCKFWC_SignRecoverInit
  699. (
  700.   NSSCKFWInstance *fwInstance,
  701.   CK_SESSION_HANDLE hSession,
  702.   CK_MECHANISM_PTR pMechanism,
  703.   CK_OBJECT_HANDLE hKey
  704. );
  705. /*
  706.  * NSSCKFWC_SignRecover
  707.  *
  708.  */
  709. NSS_EXTERN CK_RV
  710. NSSCKFWC_SignRecover
  711. (
  712.   NSSCKFWInstance *fwInstance,
  713.   CK_SESSION_HANDLE hSession,
  714.   CK_BYTE_PTR pData,
  715.   CK_ULONG ulDataLen,
  716.   CK_BYTE_PTR pSignature,
  717.   CK_ULONG_PTR pulSignatureLen
  718. );
  719. /*
  720.  * NSSCKFWC_VerifyInit
  721.  *
  722.  */
  723. NSS_EXTERN CK_RV
  724. NSSCKFWC_VerifyInit
  725. (
  726.   NSSCKFWInstance *fwInstance,
  727.   CK_SESSION_HANDLE hSession,
  728.   CK_MECHANISM_PTR pMechanism,
  729.   CK_OBJECT_HANDLE hKey
  730. );
  731. /*
  732.  * NSSCKFWC_Verify
  733.  *
  734.  */
  735. NSS_EXTERN CK_RV
  736. NSSCKFWC_Verify
  737. (
  738.   NSSCKFWInstance *fwInstance,
  739.   CK_SESSION_HANDLE hSession,
  740.   CK_BYTE_PTR pData,
  741.   CK_ULONG ulDataLen,
  742.   CK_BYTE_PTR pSignature,
  743.   CK_ULONG ulSignatureLen
  744. );
  745. /*
  746.  * NSSCKFWC_VerifyUpdate
  747.  *
  748.  */
  749. NSS_EXTERN CK_RV
  750. NSSCKFWC_VerifyUpdate
  751. (
  752.   NSSCKFWInstance *fwInstance,
  753.   CK_SESSION_HANDLE hSession,
  754.   CK_BYTE_PTR pPart,
  755.   CK_ULONG ulPartLen
  756. );
  757. /*
  758.  * NSSCKFWC_VerifyFinal
  759.  *
  760.  */
  761. NSS_EXTERN CK_RV
  762. NSSCKFWC_VerifyFinal
  763. (
  764.   NSSCKFWInstance *fwInstance,
  765.   CK_SESSION_HANDLE hSession,
  766.   CK_BYTE_PTR pSignature,
  767.   CK_ULONG ulSignatureLen
  768. );
  769. /*
  770.  * NSSCKFWC_VerifyRecoverInit
  771.  *
  772.  */
  773. NSS_EXTERN CK_RV
  774. NSSCKFWC_VerifyRecoverInit
  775. (
  776.   NSSCKFWInstance *fwInstance,
  777.   CK_SESSION_HANDLE hSession,
  778.   CK_MECHANISM_PTR pMechanism,
  779.   CK_OBJECT_HANDLE hKey
  780. );
  781. /*
  782.  * NSSCKFWC_VerifyRecover
  783.  *
  784.  */
  785. NSS_EXTERN CK_RV
  786. NSSCKFWC_VerifyRecover
  787. (
  788.   NSSCKFWInstance *fwInstance,
  789.   CK_SESSION_HANDLE hSession,
  790.   CK_BYTE_PTR pSignature,
  791.   CK_ULONG ulSignatureLen,
  792.   CK_BYTE_PTR pData,
  793.   CK_ULONG_PTR pulDataLen
  794. );
  795. /*
  796.  * NSSCKFWC_DigestEncryptUpdate
  797.  *
  798.  */
  799. NSS_EXTERN CK_RV
  800. NSSCKFWC_DigestEncryptUpdate
  801. (
  802.   NSSCKFWInstance *fwInstance,
  803.   CK_SESSION_HANDLE hSession,
  804.   CK_BYTE_PTR pPart,
  805.   CK_ULONG ulPartLen,
  806.   CK_BYTE_PTR pEncryptedPart,
  807.   CK_ULONG_PTR pulEncryptedPartLen
  808. );
  809. /*
  810.  * NSSCKFWC_DecryptDigestUpdate
  811.  *
  812.  */
  813. NSS_EXTERN CK_RV
  814. NSSCKFWC_DecryptDigestUpdate
  815. (
  816.   NSSCKFWInstance *fwInstance,
  817.   CK_SESSION_HANDLE hSession,
  818.   CK_BYTE_PTR pEncryptedPart,
  819.   CK_ULONG ulEncryptedPartLen,
  820.   CK_BYTE_PTR pPart,
  821.   CK_ULONG_PTR pulPartLen
  822. );
  823. /*
  824.  * NSSCKFWC_SignEncryptUpdate
  825.  *
  826.  */
  827. NSS_EXTERN CK_RV
  828. NSSCKFWC_SignEncryptUpdate
  829. (
  830.   NSSCKFWInstance *fwInstance,
  831.   CK_SESSION_HANDLE hSession,
  832.   CK_BYTE_PTR pPart,
  833.   CK_ULONG ulPartLen,
  834.   CK_BYTE_PTR pEncryptedPart,
  835.   CK_ULONG_PTR pulEncryptedPartLen
  836. );
  837. /*
  838.  * NSSCKFWC_DecryptVerifyUpdate
  839.  *
  840.  */
  841. NSS_EXTERN CK_RV
  842. NSSCKFWC_DecryptVerifyUpdate
  843. (
  844.   NSSCKFWInstance *fwInstance,
  845.   CK_SESSION_HANDLE hSession,
  846.   CK_BYTE_PTR pEncryptedPart,
  847.   CK_ULONG ulEncryptedPartLen,
  848.   CK_BYTE_PTR pPart,
  849.   CK_ULONG_PTR pulPartLen
  850. );
  851. /*
  852.  * NSSCKFWC_GenerateKey
  853.  *
  854.  */
  855. NSS_EXTERN CK_RV
  856. NSSCKFWC_GenerateKey
  857. (
  858.   NSSCKFWInstance *fwInstance,
  859.   CK_SESSION_HANDLE hSession,
  860.   CK_MECHANISM_PTR pMechanism,
  861.   CK_ATTRIBUTE_PTR pTemplate,
  862.   CK_ULONG ulCount,
  863.   CK_OBJECT_HANDLE_PTR phKey
  864. );
  865. /*
  866.  * NSSCKFWC_GenerateKeyPair
  867.  *
  868.  */
  869. NSS_EXTERN CK_RV
  870. NSSCKFWC_GenerateKeyPair
  871. (
  872.   NSSCKFWInstance *fwInstance,
  873.   CK_SESSION_HANDLE hSession,
  874.   CK_MECHANISM_PTR pMechanism,
  875.   CK_ATTRIBUTE_PTR pPublicKeyTemplate,
  876.   CK_ULONG ulPublicKeyAttributeCount,
  877.   CK_ATTRIBUTE_PTR pPrivateKeyTemplate,
  878.   CK_ULONG ulPrivateKeyAttributeCount,
  879.   CK_OBJECT_HANDLE_PTR phPublicKey,
  880.   CK_OBJECT_HANDLE_PTR phPrivateKey
  881. );
  882. /*
  883.  * NSSCKFWC_WrapKey
  884.  *
  885.  */
  886. NSS_EXTERN CK_RV
  887. NSSCKFWC_WrapKey
  888. (
  889.   NSSCKFWInstance *fwInstance,
  890.   CK_SESSION_HANDLE hSession,
  891.   CK_MECHANISM_PTR pMechanism,
  892.   CK_OBJECT_HANDLE hWrappingKey,
  893.   CK_OBJECT_HANDLE hKey,
  894.   CK_BYTE_PTR pWrappedKey,
  895.   CK_ULONG_PTR pulWrappedKeyLen
  896. );
  897. /*
  898.  * NSSCKFWC_UnwrapKey
  899.  *
  900.  */
  901. NSS_EXTERN CK_RV
  902. NSSCKFWC_UnwrapKey
  903. (
  904.   NSSCKFWInstance *fwInstance,
  905.   CK_SESSION_HANDLE hSession,
  906.   CK_MECHANISM_PTR pMechanism,
  907.   CK_OBJECT_HANDLE hUnwrappingKey,
  908.   CK_BYTE_PTR pWrappedKey,
  909.   CK_ULONG ulWrappedKeyLen,
  910.   CK_ATTRIBUTE_PTR pTemplate,
  911.   CK_ULONG ulAttributeCount,
  912.   CK_OBJECT_HANDLE_PTR phKey
  913. );
  914. /*
  915.  * NSSCKFWC_DeriveKey
  916.  *
  917.  */
  918. NSS_EXTERN CK_RV
  919. NSSCKFWC_DeriveKey
  920. (
  921.   NSSCKFWInstance *fwInstance,
  922.   CK_SESSION_HANDLE hSession,
  923.   CK_MECHANISM_PTR pMechanism,
  924.   CK_OBJECT_HANDLE hBaseKey,
  925.   CK_ATTRIBUTE_PTR pTemplate,
  926.   CK_ULONG ulAttributeCount,
  927.   CK_OBJECT_HANDLE_PTR phKey
  928. );
  929. /*
  930.  * NSSCKFWC_SeedRandom
  931.  *
  932.  */
  933. NSS_EXTERN CK_RV
  934. NSSCKFWC_SeedRandom
  935. (
  936.   NSSCKFWInstance *fwInstance,
  937.   CK_SESSION_HANDLE hSession,
  938.   CK_BYTE_PTR pSeed,
  939.   CK_ULONG ulSeedLen
  940. );
  941. /*
  942.  * NSSCKFWC_GenerateRandom
  943.  *
  944.  */
  945. NSS_EXTERN CK_RV
  946. NSSCKFWC_GenerateRandom
  947. (
  948.   NSSCKFWInstance *fwInstance,
  949.   CK_SESSION_HANDLE hSession,
  950.   CK_BYTE_PTR pRandomData,
  951.   CK_ULONG ulRandomLen
  952. );
  953. /*
  954.  * NSSCKFWC_GetFunctionStatus
  955.  *
  956.  */
  957. NSS_EXTERN CK_RV
  958. NSSCKFWC_GetFunctionStatus
  959. (
  960.   NSSCKFWInstance *fwInstance,
  961.   CK_SESSION_HANDLE hSession
  962. );
  963. /*
  964.  * NSSCKFWC_CancelFunction
  965.  *
  966.  */
  967. NSS_EXTERN CK_RV
  968. NSSCKFWC_CancelFunction
  969. (
  970.   NSSCKFWInstance *fwInstance,
  971.   CK_SESSION_HANDLE hSession
  972. );
  973. #endif /* NSSCKFWC_H */