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