comparison nss/lib/ckfw/ckfw.h @ 0:1e5118fa0cb1

This is NSS with a Cmake Buildsyste To compile a static NSS library for Windows we've used the Chromium-NSS fork and added a Cmake buildsystem to compile it statically for Windows. See README.chromium for chromium changes and README.trustbridge for our modifications.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 28 Jul 2014 10:47:06 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:1e5118fa0cb1
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 CKFW_H
6 #define CKFW_H
7
8 /*
9 * ckfw.h
10 *
11 * This file prototypes the private calls of the NSS Cryptoki Framework.
12 */
13
14 #ifndef NSSBASET_H
15 #include "nssbaset.h"
16 #endif /* NSSBASET_H */
17
18 #ifndef NSSCKT_H
19 #include "nssckt.h"
20 #endif /* NSSCKT_H */
21
22 #ifndef NSSCKFWT_H
23 #include "nssckfwt.h"
24 #endif /* NSSCKFWT_H */
25
26 #ifndef NSSCKMDT_H
27 #include "nssckmdt.h"
28 #endif /* NSSCKMDT_H */
29
30 /*
31 * NSSCKFWInstance
32 *
33 * -- create/destroy --
34 * nssCKFWInstance_Create
35 * nssCKFWInstance_Destroy
36 *
37 * -- implement public accessors --
38 * nssCKFWInstance_GetMDInstance
39 * nssCKFWInstance_GetArena
40 * nssCKFWInstance_MayCreatePthreads
41 * nssCKFWInstance_CreateMutex
42 * nssCKFWInstance_GetConfigurationData
43 * nssCKFWInstance_GetInitArgs
44 *
45 * -- private accessors --
46 * nssCKFWInstance_CreateSessionHandle
47 * nssCKFWInstance_ResolveSessionHandle
48 * nssCKFWInstance_DestroySessionHandle
49 * nssCKFWInstance_FindSessionHandle
50 * nssCKFWInstance_CreateObjectHandle
51 * nssCKFWInstance_ResolveObjectHandle
52 * nssCKFWInstance_DestroyObjectHandle
53 * nssCKFWInstance_FindObjectHandle
54 *
55 * -- module fronts --
56 * nssCKFWInstance_GetNSlots
57 * nssCKFWInstance_GetCryptokiVersion
58 * nssCKFWInstance_GetManufacturerID
59 * nssCKFWInstance_GetFlags
60 * nssCKFWInstance_GetLibraryDescription
61 * nssCKFWInstance_GetLibraryVersion
62 * nssCKFWInstance_GetModuleHandlesSessionObjects
63 * nssCKFWInstance_GetSlots
64 * nssCKFWInstance_WaitForSlotEvent
65 *
66 * -- debugging versions only --
67 * nssCKFWInstance_verifyPointer
68 */
69
70 /*
71 * nssCKFWInstance_Create
72 *
73 */
74 NSS_EXTERN NSSCKFWInstance *
75 nssCKFWInstance_Create
76 (
77 CK_C_INITIALIZE_ARGS_PTR pInitArgs,
78 CryptokiLockingState LockingState,
79 NSSCKMDInstance *mdInstance,
80 CK_RV *pError
81 );
82
83 /*
84 * nssCKFWInstance_Destroy
85 *
86 */
87 NSS_EXTERN CK_RV
88 nssCKFWInstance_Destroy
89 (
90 NSSCKFWInstance *fwInstance
91 );
92
93 /*
94 * nssCKFWInstance_GetMDInstance
95 *
96 */
97 NSS_EXTERN NSSCKMDInstance *
98 nssCKFWInstance_GetMDInstance
99 (
100 NSSCKFWInstance *fwInstance
101 );
102
103 /*
104 * nssCKFWInstance_GetArena
105 *
106 */
107 NSS_EXTERN NSSArena *
108 nssCKFWInstance_GetArena
109 (
110 NSSCKFWInstance *fwInstance,
111 CK_RV *pError
112 );
113
114 /*
115 * nssCKFWInstance_MayCreatePthreads
116 *
117 */
118 NSS_EXTERN CK_BBOOL
119 nssCKFWInstance_MayCreatePthreads
120 (
121 NSSCKFWInstance *fwInstance
122 );
123
124 /*
125 * nssCKFWInstance_CreateMutex
126 *
127 */
128 NSS_EXTERN NSSCKFWMutex *
129 nssCKFWInstance_CreateMutex
130 (
131 NSSCKFWInstance *fwInstance,
132 NSSArena *arena,
133 CK_RV *pError
134 );
135
136 /*
137 * nssCKFWInstance_GetConfigurationData
138 *
139 */
140 NSS_EXTERN NSSUTF8 *
141 nssCKFWInstance_GetConfigurationData
142 (
143 NSSCKFWInstance *fwInstance
144 );
145
146 /*
147 * nssCKFWInstance_GetInitArgs
148 *
149 */
150 NSS_EXTERN CK_C_INITIALIZE_ARGS_PTR
151 nssCKFWInstance_GetInitArgs
152 (
153 NSSCKFWInstance *fwInstance
154 );
155
156 /*
157 * nssCKFWInstance_CreateSessionHandle
158 *
159 */
160 NSS_EXTERN CK_SESSION_HANDLE
161 nssCKFWInstance_CreateSessionHandle
162 (
163 NSSCKFWInstance *fwInstance,
164 NSSCKFWSession *fwSession,
165 CK_RV *pError
166 );
167
168 /*
169 * nssCKFWInstance_ResolveSessionHandle
170 *
171 */
172 NSS_EXTERN NSSCKFWSession *
173 nssCKFWInstance_ResolveSessionHandle
174 (
175 NSSCKFWInstance *fwInstance,
176 CK_SESSION_HANDLE hSession
177 );
178
179 /*
180 * nssCKFWInstance_DestroySessionHandle
181 *
182 */
183 NSS_EXTERN void
184 nssCKFWInstance_DestroySessionHandle
185 (
186 NSSCKFWInstance *fwInstance,
187 CK_SESSION_HANDLE hSession
188 );
189
190 /*
191 * nssCKFWInstance_FindSessionHandle
192 *
193 */
194 NSS_EXTERN CK_SESSION_HANDLE
195 nssCKFWInstance_FindSessionHandle
196 (
197 NSSCKFWInstance *fwInstance,
198 NSSCKFWSession *fwSession
199 );
200
201 /*
202 * nssCKFWInstance_CreateObjectHandle
203 *
204 */
205 NSS_EXTERN CK_OBJECT_HANDLE
206 nssCKFWInstance_CreateObjectHandle
207 (
208 NSSCKFWInstance *fwInstance,
209 NSSCKFWObject *fwObject,
210 CK_RV *pError
211 );
212
213 /*
214 * nssCKFWInstance_ResolveObjectHandle
215 *
216 */
217 NSS_EXTERN NSSCKFWObject *
218 nssCKFWInstance_ResolveObjectHandle
219 (
220 NSSCKFWInstance *fwInstance,
221 CK_OBJECT_HANDLE hObject
222 );
223
224 /*
225 * nssCKFWInstance_ReassignObjectHandle
226 *
227 */
228 NSS_EXTERN CK_RV
229 nssCKFWInstance_ReassignObjectHandle
230 (
231 NSSCKFWInstance *fwInstance,
232 CK_OBJECT_HANDLE hObject,
233 NSSCKFWObject *fwObject
234 );
235
236 /*
237 * nssCKFWInstance_DestroyObjectHandle
238 *
239 */
240 NSS_EXTERN void
241 nssCKFWInstance_DestroyObjectHandle
242 (
243 NSSCKFWInstance *fwInstance,
244 CK_OBJECT_HANDLE hObject
245 );
246
247 /*
248 * nssCKFWInstance_FindObjectHandle
249 *
250 */
251 NSS_EXTERN CK_OBJECT_HANDLE
252 nssCKFWInstance_FindObjectHandle
253 (
254 NSSCKFWInstance *fwInstance,
255 NSSCKFWObject *fwObject
256 );
257
258 /*
259 * nssCKFWInstance_GetNSlots
260 *
261 */
262 NSS_EXTERN CK_ULONG
263 nssCKFWInstance_GetNSlots
264 (
265 NSSCKFWInstance *fwInstance,
266 CK_RV *pError
267 );
268
269 /*
270 * nssCKFWInstance_GetCryptokiVersion
271 *
272 */
273 NSS_EXTERN CK_VERSION
274 nssCKFWInstance_GetCryptokiVersion
275 (
276 NSSCKFWInstance *fwInstance
277 );
278
279 /*
280 * nssCKFWInstance_GetManufacturerID
281 *
282 */
283 NSS_EXTERN CK_RV
284 nssCKFWInstance_GetManufacturerID
285 (
286 NSSCKFWInstance *fwInstance,
287 CK_CHAR manufacturerID[32]
288 );
289
290 /*
291 * nssCKFWInstance_GetFlags
292 *
293 */
294 NSS_EXTERN CK_ULONG
295 nssCKFWInstance_GetFlags
296 (
297 NSSCKFWInstance *fwInstance
298 );
299
300 /*
301 * nssCKFWInstance_GetLibraryDescription
302 *
303 */
304 NSS_EXTERN CK_RV
305 nssCKFWInstance_GetLibraryDescription
306 (
307 NSSCKFWInstance *fwInstance,
308 CK_CHAR libraryDescription[32]
309 );
310
311 /*
312 * nssCKFWInstance_GetLibraryVersion
313 *
314 */
315 NSS_EXTERN CK_VERSION
316 nssCKFWInstance_GetLibraryVersion
317 (
318 NSSCKFWInstance *fwInstance
319 );
320
321 /*
322 * nssCKFWInstance_GetModuleHandlesSessionObjects
323 *
324 */
325 NSS_EXTERN CK_BBOOL
326 nssCKFWInstance_GetModuleHandlesSessionObjects
327 (
328 NSSCKFWInstance *fwInstance
329 );
330
331 /*
332 * nssCKFWInstance_GetSlots
333 *
334 */
335 NSS_EXTERN NSSCKFWSlot **
336 nssCKFWInstance_GetSlots
337 (
338 NSSCKFWInstance *fwInstance,
339 CK_RV *pError
340 );
341
342 /*
343 * nssCKFWInstance_WaitForSlotEvent
344 *
345 */
346 NSS_EXTERN NSSCKFWSlot *
347 nssCKFWInstance_WaitForSlotEvent
348 (
349 NSSCKFWInstance *fwInstance,
350 CK_BBOOL block,
351 CK_RV *pError
352 );
353
354 /*
355 * nssCKFWInstance_verifyPointer
356 *
357 */
358 NSS_EXTERN CK_RV
359 nssCKFWInstance_verifyPointer
360 (
361 const NSSCKFWInstance *fwInstance
362 );
363
364
365 /*
366 * NSSCKFWSlot
367 *
368 * -- create/destroy --
369 * nssCKFWSlot_Create
370 * nssCKFWSlot_Destroy
371 *
372 * -- implement public accessors --
373 * nssCKFWSlot_GetMDSlot
374 * nssCKFWSlot_GetFWInstance
375 * nssCKFWSlot_GetMDInstance
376 *
377 * -- private accessors --
378 * nssCKFWSlot_GetSlotID
379 *
380 * -- module fronts --
381 * nssCKFWSlot_GetSlotDescription
382 * nssCKFWSlot_GetManufacturerID
383 * nssCKFWSlot_GetTokenPresent
384 * nssCKFWSlot_GetRemovableDevice
385 * nssCKFWSlot_GetHardwareSlot
386 * nssCKFWSlot_GetHardwareVersion
387 * nssCKFWSlot_GetFirmwareVersion
388 * nssCKFWSlot_GetToken
389 */
390
391 /*
392 * nssCKFWSlot_Create
393 *
394 */
395 NSS_EXTERN NSSCKFWSlot *
396 nssCKFWSlot_Create
397 (
398 NSSCKFWInstance *fwInstance,
399 NSSCKMDSlot *mdSlot,
400 CK_SLOT_ID slotID,
401 CK_RV *pError
402 );
403
404 /*
405 * nssCKFWSlot_Destroy
406 *
407 */
408 NSS_EXTERN CK_RV
409 nssCKFWSlot_Destroy
410 (
411 NSSCKFWSlot *fwSlot
412 );
413
414 /*
415 * nssCKFWSlot_GetMDSlot
416 *
417 */
418 NSS_EXTERN NSSCKMDSlot *
419 nssCKFWSlot_GetMDSlot
420 (
421 NSSCKFWSlot *fwSlot
422 );
423
424 /*
425 * nssCKFWSlot_GetFWInstance
426 *
427 */
428
429 NSS_EXTERN NSSCKFWInstance *
430 nssCKFWSlot_GetFWInstance
431 (
432 NSSCKFWSlot *fwSlot
433 );
434
435 /*
436 * nssCKFWSlot_GetMDInstance
437 *
438 */
439
440 NSS_EXTERN NSSCKMDInstance *
441 nssCKFWSlot_GetMDInstance
442 (
443 NSSCKFWSlot *fwSlot
444 );
445
446 /*
447 * nssCKFWSlot_GetSlotID
448 *
449 */
450 NSS_EXTERN CK_SLOT_ID
451 nssCKFWSlot_GetSlotID
452 (
453 NSSCKFWSlot *fwSlot
454 );
455
456 /*
457 * nssCKFWSlot_GetSlotDescription
458 *
459 */
460 NSS_EXTERN CK_RV
461 nssCKFWSlot_GetSlotDescription
462 (
463 NSSCKFWSlot *fwSlot,
464 CK_CHAR slotDescription[64]
465 );
466
467 /*
468 * nssCKFWSlot_GetManufacturerID
469 *
470 */
471 NSS_EXTERN CK_RV
472 nssCKFWSlot_GetManufacturerID
473 (
474 NSSCKFWSlot *fwSlot,
475 CK_CHAR manufacturerID[32]
476 );
477
478 /*
479 * nssCKFWSlot_GetTokenPresent
480 *
481 */
482 NSS_EXTERN CK_BBOOL
483 nssCKFWSlot_GetTokenPresent
484 (
485 NSSCKFWSlot *fwSlot
486 );
487
488 /*
489 * nssCKFWSlot_GetRemovableDevice
490 *
491 */
492 NSS_EXTERN CK_BBOOL
493 nssCKFWSlot_GetRemovableDevice
494 (
495 NSSCKFWSlot *fwSlot
496 );
497
498 /*
499 * nssCKFWSlot_GetHardwareSlot
500 *
501 */
502 NSS_EXTERN CK_BBOOL
503 nssCKFWSlot_GetHardwareSlot
504 (
505 NSSCKFWSlot *fwSlot
506 );
507
508 /*
509 * nssCKFWSlot_GetHardwareVersion
510 *
511 */
512 NSS_EXTERN CK_VERSION
513 nssCKFWSlot_GetHardwareVersion
514 (
515 NSSCKFWSlot *fwSlot
516 );
517
518 /*
519 * nssCKFWSlot_GetFirmwareVersion
520 *
521 */
522 NSS_EXTERN CK_VERSION
523 nssCKFWSlot_GetFirmwareVersion
524 (
525 NSSCKFWSlot *fwSlot
526 );
527
528 /*
529 * nssCKFWSlot_GetToken
530 *
531 */
532 NSS_EXTERN NSSCKFWToken *
533 nssCKFWSlot_GetToken
534 (
535 NSSCKFWSlot *fwSlot,
536 CK_RV *pError
537 );
538
539 /*
540 * nssCKFWSlot_ClearToken
541 *
542 */
543 NSS_EXTERN void
544 nssCKFWSlot_ClearToken
545 (
546 NSSCKFWSlot *fwSlot
547 );
548
549 /*
550 * NSSCKFWToken
551 *
552 * -- create/destroy --
553 * nssCKFWToken_Create
554 * nssCKFWToken_Destroy
555 *
556 * -- implement public accessors --
557 * nssCKFWToken_GetMDToken
558 * nssCKFWToken_GetFWSlot
559 * nssCKFWToken_GetMDSlot
560 * nssCKFWToken_GetSessionState
561 *
562 * -- private accessors --
563 * nssCKFWToken_SetSessionState
564 * nssCKFWToken_RemoveSession
565 * nssCKFWToken_CloseAllSessions
566 * nssCKFWToken_GetSessionCount
567 * nssCKFWToken_GetRwSessionCount
568 * nssCKFWToken_GetRoSessionCount
569 * nssCKFWToken_GetSessionObjectHash
570 * nssCKFWToken_GetMDObjectHash
571 * nssCKFWToken_GetObjectHandleHash
572 *
573 * -- module fronts --
574 * nssCKFWToken_InitToken
575 * nssCKFWToken_GetLabel
576 * nssCKFWToken_GetManufacturerID
577 * nssCKFWToken_GetModel
578 * nssCKFWToken_GetSerialNumber
579 * nssCKFWToken_GetHasRNG
580 * nssCKFWToken_GetIsWriteProtected
581 * nssCKFWToken_GetLoginRequired
582 * nssCKFWToken_GetUserPinInitialized
583 * nssCKFWToken_GetRestoreKeyNotNeeded
584 * nssCKFWToken_GetHasClockOnToken
585 * nssCKFWToken_GetHasProtectedAuthenticationPath
586 * nssCKFWToken_GetSupportsDualCryptoOperations
587 * nssCKFWToken_GetMaxSessionCount
588 * nssCKFWToken_GetMaxRwSessionCount
589 * nssCKFWToken_GetMaxPinLen
590 * nssCKFWToken_GetMinPinLen
591 * nssCKFWToken_GetTotalPublicMemory
592 * nssCKFWToken_GetFreePublicMemory
593 * nssCKFWToken_GetTotalPrivateMemory
594 * nssCKFWToken_GetFreePrivateMemory
595 * nssCKFWToken_GetHardwareVersion
596 * nssCKFWToken_GetFirmwareVersion
597 * nssCKFWToken_GetUTCTime
598 * nssCKFWToken_OpenSession
599 * nssCKFWToken_GetMechanismCount
600 * nssCKFWToken_GetMechanismTypes
601 * nssCKFWToken_GetMechanism
602 */
603
604 /*
605 * nssCKFWToken_Create
606 *
607 */
608 NSS_EXTERN NSSCKFWToken *
609 nssCKFWToken_Create
610 (
611 NSSCKFWSlot *fwSlot,
612 NSSCKMDToken *mdToken,
613 CK_RV *pError
614 );
615
616 /*
617 * nssCKFWToken_Destroy
618 *
619 */
620 NSS_EXTERN CK_RV
621 nssCKFWToken_Destroy
622 (
623 NSSCKFWToken *fwToken
624 );
625
626 /*
627 * nssCKFWToken_GetMDToken
628 *
629 */
630 NSS_EXTERN NSSCKMDToken *
631 nssCKFWToken_GetMDToken
632 (
633 NSSCKFWToken *fwToken
634 );
635
636 /*
637 * nssCKFWToken_GetArena
638 *
639 */
640 NSS_EXTERN NSSArena *
641 nssCKFWToken_GetArena
642 (
643 NSSCKFWToken *fwToken,
644 CK_RV *pError
645 );
646
647 /*
648 * nssCKFWToken_GetFWSlot
649 *
650 */
651 NSS_EXTERN NSSCKFWSlot *
652 nssCKFWToken_GetFWSlot
653 (
654 NSSCKFWToken *fwToken
655 );
656
657 /*
658 * nssCKFWToken_GetMDSlot
659 *
660 */
661 NSS_EXTERN NSSCKMDSlot *
662 nssCKFWToken_GetMDSlot
663 (
664 NSSCKFWToken *fwToken
665 );
666
667 /*
668 * nssCKFWToken_GetSessionState
669 *
670 */
671 NSS_EXTERN CK_STATE
672 nssCKFWToken_GetSessionState
673 (
674 NSSCKFWToken *fwToken
675 );
676
677 /*
678 * nssCKFWToken_InitToken
679 *
680 */
681 NSS_EXTERN CK_RV
682 nssCKFWToken_InitToken
683 (
684 NSSCKFWToken *fwToken,
685 NSSItem *pin,
686 NSSUTF8 *label
687 );
688
689 /*
690 * nssCKFWToken_GetLabel
691 *
692 */
693 NSS_EXTERN CK_RV
694 nssCKFWToken_GetLabel
695 (
696 NSSCKFWToken *fwToken,
697 CK_CHAR label[32]
698 );
699
700 /*
701 * nssCKFWToken_GetManufacturerID
702 *
703 */
704 NSS_EXTERN CK_RV
705 nssCKFWToken_GetManufacturerID
706 (
707 NSSCKFWToken *fwToken,
708 CK_CHAR manufacturerID[32]
709 );
710
711 /*
712 * nssCKFWToken_GetModel
713 *
714 */
715 NSS_EXTERN CK_RV
716 nssCKFWToken_GetModel
717 (
718 NSSCKFWToken *fwToken,
719 CK_CHAR model[16]
720 );
721
722 /*
723 * nssCKFWToken_GetSerialNumber
724 *
725 */
726 NSS_EXTERN CK_RV
727 nssCKFWToken_GetSerialNumber
728 (
729 NSSCKFWToken *fwToken,
730 CK_CHAR serialNumber[16]
731 );
732
733 /*
734 * nssCKFWToken_GetHasRNG
735 *
736 */
737 NSS_EXTERN CK_BBOOL
738 nssCKFWToken_GetHasRNG
739 (
740 NSSCKFWToken *fwToken
741 );
742
743 /*
744 * nssCKFWToken_GetIsWriteProtected
745 *
746 */
747 NSS_EXTERN CK_BBOOL
748 nssCKFWToken_GetIsWriteProtected
749 (
750 NSSCKFWToken *fwToken
751 );
752
753 /*
754 * nssCKFWToken_GetLoginRequired
755 *
756 */
757 NSS_EXTERN CK_BBOOL
758 nssCKFWToken_GetLoginRequired
759 (
760 NSSCKFWToken *fwToken
761 );
762
763 /*
764 * nssCKFWToken_GetUserPinInitialized
765 *
766 */
767 NSS_EXTERN CK_BBOOL
768 nssCKFWToken_GetUserPinInitialized
769 (
770 NSSCKFWToken *fwToken
771 );
772
773 /*
774 * nssCKFWToken_GetRestoreKeyNotNeeded
775 *
776 */
777 NSS_EXTERN CK_BBOOL
778 nssCKFWToken_GetRestoreKeyNotNeeded
779 (
780 NSSCKFWToken *fwToken
781 );
782
783 /*
784 * nssCKFWToken_GetHasClockOnToken
785 *
786 */
787 NSS_EXTERN CK_BBOOL
788 nssCKFWToken_GetHasClockOnToken
789 (
790 NSSCKFWToken *fwToken
791 );
792
793 /*
794 * nssCKFWToken_GetHasProtectedAuthenticationPath
795 *
796 */
797 NSS_EXTERN CK_BBOOL
798 nssCKFWToken_GetHasProtectedAuthenticationPath
799 (
800 NSSCKFWToken *fwToken
801 );
802
803 /*
804 * nssCKFWToken_GetSupportsDualCryptoOperations
805 *
806 */
807 NSS_EXTERN CK_BBOOL
808 nssCKFWToken_GetSupportsDualCryptoOperations
809 (
810 NSSCKFWToken *fwToken
811 );
812
813 /*
814 * nssCKFWToken_GetMaxSessionCount
815 *
816 */
817 NSS_EXTERN CK_ULONG
818 nssCKFWToken_GetMaxSessionCount
819 (
820 NSSCKFWToken *fwToken
821 );
822
823 /*
824 * nssCKFWToken_GetMaxRwSessionCount
825 *
826 */
827 NSS_EXTERN CK_ULONG
828 nssCKFWToken_GetMaxRwSessionCount
829 (
830 NSSCKFWToken *fwToken
831 );
832
833 /*
834 * nssCKFWToken_GetMaxPinLen
835 *
836 */
837 NSS_EXTERN CK_ULONG
838 nssCKFWToken_GetMaxPinLen
839 (
840 NSSCKFWToken *fwToken
841 );
842
843 /*
844 * nssCKFWToken_GetMinPinLen
845 *
846 */
847 NSS_EXTERN CK_ULONG
848 nssCKFWToken_GetMinPinLen
849 (
850 NSSCKFWToken *fwToken
851 );
852
853 /*
854 * nssCKFWToken_GetTotalPublicMemory
855 *
856 */
857 NSS_EXTERN CK_ULONG
858 nssCKFWToken_GetTotalPublicMemory
859 (
860 NSSCKFWToken *fwToken
861 );
862
863 /*
864 * nssCKFWToken_GetFreePublicMemory
865 *
866 */
867 NSS_EXTERN CK_ULONG
868 nssCKFWToken_GetFreePublicMemory
869 (
870 NSSCKFWToken *fwToken
871 );
872
873 /*
874 * nssCKFWToken_GetTotalPrivateMemory
875 *
876 */
877 NSS_EXTERN CK_ULONG
878 nssCKFWToken_GetTotalPrivateMemory
879 (
880 NSSCKFWToken *fwToken
881 );
882
883 /*
884 * nssCKFWToken_GetFreePrivateMemory
885 *
886 */
887 NSS_EXTERN CK_ULONG
888 nssCKFWToken_GetFreePrivateMemory
889 (
890 NSSCKFWToken *fwToken
891 );
892
893 /*
894 * nssCKFWToken_GetHardwareVersion
895 *
896 */
897 NSS_EXTERN CK_VERSION
898 nssCKFWToken_GetHardwareVersion
899 (
900 NSSCKFWToken *fwToken
901 );
902
903 /*
904 * nssCKFWToken_GetFirmwareVersion
905 *
906 */
907 NSS_EXTERN CK_VERSION
908 nssCKFWToken_GetFirmwareVersion
909 (
910 NSSCKFWToken *fwToken
911 );
912
913 /*
914 * nssCKFWToken_GetUTCTime
915 *
916 */
917 NSS_EXTERN CK_RV
918 nssCKFWToken_GetUTCTime
919 (
920 NSSCKFWToken *fwToken,
921 CK_CHAR utcTime[16]
922 );
923
924 /*
925 * nssCKFWToken_OpenSession
926 *
927 */
928 NSS_EXTERN NSSCKFWSession *
929 nssCKFWToken_OpenSession
930 (
931 NSSCKFWToken *fwToken,
932 CK_BBOOL rw,
933 CK_VOID_PTR pApplication,
934 CK_NOTIFY Notify,
935 CK_RV *pError
936 );
937
938 /*
939 * nssCKFWToken_GetMechanismCount
940 *
941 */
942 NSS_EXTERN CK_ULONG
943 nssCKFWToken_GetMechanismCount
944 (
945 NSSCKFWToken *fwToken
946 );
947
948 /*
949 * nssCKFWToken_GetMechanismTypes
950 *
951 */
952 NSS_EXTERN CK_RV
953 nssCKFWToken_GetMechanismTypes
954 (
955 NSSCKFWToken *fwToken,
956 CK_MECHANISM_TYPE types[]
957 );
958
959 /*
960 * nssCKFWToken_GetMechanism
961 *
962 */
963 NSS_EXTERN NSSCKFWMechanism *
964 nssCKFWToken_GetMechanism
965 (
966 NSSCKFWToken *fwToken,
967 CK_MECHANISM_TYPE which,
968 CK_RV *pError
969 );
970
971 /*
972 * nssCKFWToken_SetSessionState
973 *
974 */
975 NSS_EXTERN CK_RV
976 nssCKFWToken_SetSessionState
977 (
978 NSSCKFWToken *fwToken,
979 CK_STATE newState
980 );
981
982 /*
983 * nssCKFWToken_RemoveSession
984 *
985 */
986 NSS_EXTERN CK_RV
987 nssCKFWToken_RemoveSession
988 (
989 NSSCKFWToken *fwToken,
990 NSSCKFWSession *fwSession
991 );
992
993 /*
994 * nssCKFWToken_CloseAllSessions
995 *
996 */
997 NSS_EXTERN CK_RV
998 nssCKFWToken_CloseAllSessions
999 (
1000 NSSCKFWToken *fwToken
1001 );
1002
1003 /*
1004 * nssCKFWToken_GetSessionCount
1005 *
1006 */
1007 NSS_EXTERN CK_ULONG
1008 nssCKFWToken_GetSessionCount
1009 (
1010 NSSCKFWToken *fwToken
1011 );
1012
1013 /*
1014 * nssCKFWToken_GetRwSessionCount
1015 *
1016 */
1017 NSS_EXTERN CK_ULONG
1018 nssCKFWToken_GetRwSessionCount
1019 (
1020 NSSCKFWToken *fwToken
1021 );
1022
1023 /*
1024 * nssCKFWToken_GetRoSessionCount
1025 *
1026 */
1027 NSS_EXTERN CK_ULONG
1028 nssCKFWToken_GetRoSessionCount
1029 (
1030 NSSCKFWToken *fwToken
1031 );
1032
1033 /*
1034 * nssCKFWToken_GetSessionObjectHash
1035 *
1036 */
1037 NSS_EXTERN nssCKFWHash *
1038 nssCKFWToken_GetSessionObjectHash
1039 (
1040 NSSCKFWToken *fwToken
1041 );
1042
1043 /*
1044 * nssCKFWToken_GetMDObjectHash
1045 *
1046 */
1047 NSS_EXTERN nssCKFWHash *
1048 nssCKFWToken_GetMDObjectHash
1049 (
1050 NSSCKFWToken *fwToken
1051 );
1052
1053 /*
1054 * nssCKFWToken_GetObjectHandleHash
1055 *
1056 */
1057 NSS_EXTERN nssCKFWHash *
1058 nssCKFWToken_GetObjectHandleHash
1059 (
1060 NSSCKFWToken *fwToken
1061 );
1062
1063 /*
1064 * NSSCKFWMechanism
1065 *
1066 * -- create/destroy --
1067 * nssCKFWMechanism_Create
1068 * nssCKFWMechanism_Destroy
1069 *
1070 * -- implement public accessors --
1071 * nssCKFWMechanism_GetMDMechanism
1072 *
1073 * -- private accessors --
1074 *
1075 * -- module fronts --
1076 * nssCKFWMechanism_GetMinKeySize
1077 * nssCKFWMechanism_GetMaxKeySize
1078 * nssCKFWMechanism_GetInHardware
1079 * nssCKFWMechanism_GetCanEncrypt
1080 * nssCKFWMechanism_GetCanDecrypt
1081 * nssCKFWMechanism_GetCanDigest
1082 * nssCKFWMechanism_GetCanSignRecover
1083 * nssCKFWMechanism_GetCanVerify
1084 * nssCKFWMechanism_GetCanVerifyRecover
1085 * nssCKFWMechanism_GetCanGenerate
1086 * nssCKFWMechanism_GetCanGenerateKeyPair
1087 * nssCKFWMechanism_GetCanWrap
1088 * nssCKFWMechanism_GetCanUnwrap
1089 * nssCKFWMechanism_GetCanDerive
1090 * nssCKFWMechanism_EncryptInit
1091 * nssCKFWMechanism_DecryptInit
1092 * nssCKFWMechanism_DigestInit
1093 * nssCKFWMechanism_SignInit
1094 * nssCKFWMechanism_SignRecoverInit
1095 * nssCKFWMechanism_VerifyInit
1096 * nssCKFWMechanism_VerifyRecoverInit
1097 * nssCKFWMechanism_GenerateKey
1098 * nssCKFWMechanism_GenerateKeyPair
1099 * nssCKFWMechanism_GetWrapKeyLength
1100 * nssCKFWMechanism_WrapKey
1101 * nssCKFWMechanism_UnwrapKey
1102 * nssCKFWMechanism_DeriveKey
1103 */
1104
1105 /*
1106 * nssCKFWMechanism_Create
1107 *
1108 */
1109 NSS_EXTERN NSSCKFWMechanism *
1110 nssCKFWMechanism_Create
1111 (
1112 NSSCKMDMechanism *mdMechanism,
1113 NSSCKMDToken *mdToken,
1114 NSSCKFWToken *fwToken,
1115 NSSCKMDInstance *mdInstance,
1116 NSSCKFWInstance *fwInstance
1117 );
1118
1119 /*
1120 * nssCKFWMechanism_Destroy
1121 *
1122 */
1123 NSS_EXTERN void
1124 nssCKFWMechanism_Destroy
1125 (
1126 NSSCKFWMechanism *fwMechanism
1127 );
1128
1129 /*
1130 * nssCKFWMechanism_GetMDMechanism
1131 *
1132 */
1133
1134 NSS_EXTERN NSSCKMDMechanism *
1135 nssCKFWMechanism_GetMDMechanism
1136 (
1137 NSSCKFWMechanism *fwMechanism
1138 );
1139
1140 /*
1141 * nssCKFWMechanism_GetMinKeySize
1142 *
1143 */
1144 NSS_EXTERN CK_ULONG
1145 nssCKFWMechanism_GetMinKeySize
1146 (
1147 NSSCKFWMechanism *fwMechanism,
1148 CK_RV *pError
1149 );
1150
1151 /*
1152 * nssCKFWMechanism_GetMaxKeySize
1153 *
1154 */
1155 NSS_EXTERN CK_ULONG
1156 nssCKFWMechanism_GetMaxKeySize
1157 (
1158 NSSCKFWMechanism *fwMechanism,
1159 CK_RV *pError
1160 );
1161
1162 /*
1163 * nssCKFWMechanism_GetInHardware
1164 *
1165 */
1166 NSS_EXTERN CK_BBOOL
1167 nssCKFWMechanism_GetInHardware
1168 (
1169 NSSCKFWMechanism *fwMechanism,
1170 CK_RV *pError
1171 );
1172
1173 /*
1174 * the following are determined automatically by which of the cryptographic
1175 * functions are defined for this mechanism.
1176 */
1177 /*
1178 * nssCKFWMechanism_GetCanEncrypt
1179 *
1180 */
1181 NSS_EXTERN CK_BBOOL
1182 nssCKFWMechanism_GetCanEncrypt
1183 (
1184 NSSCKFWMechanism *fwMechanism,
1185 CK_RV *pError
1186 );
1187
1188 /*
1189 * nssCKFWMechanism_GetCanDecrypt
1190 *
1191 */
1192 NSS_EXTERN CK_BBOOL
1193 nssCKFWMechanism_GetCanDecrypt
1194 (
1195 NSSCKFWMechanism *fwMechanism,
1196 CK_RV *pError
1197 );
1198
1199 /*
1200 * nssCKFWMechanism_GetCanDigest
1201 *
1202 */
1203 NSS_EXTERN CK_BBOOL
1204 nssCKFWMechanism_GetCanDigest
1205 (
1206 NSSCKFWMechanism *fwMechanism,
1207 CK_RV *pError
1208 );
1209
1210 /*
1211 * nssCKFWMechanism_GetCanSign
1212 *
1213 */
1214 NSS_EXTERN CK_BBOOL
1215 nssCKFWMechanism_GetCanSign
1216 (
1217 NSSCKFWMechanism *fwMechanism,
1218 CK_RV *pError
1219 );
1220
1221 /*
1222 * nssCKFWMechanism_GetCanSignRecover
1223 *
1224 */
1225 NSS_EXTERN CK_BBOOL
1226 nssCKFWMechanism_GetCanSignRecover
1227 (
1228 NSSCKFWMechanism *fwMechanism,
1229 CK_RV *pError
1230 );
1231
1232 /*
1233 * nssCKFWMechanism_GetCanVerify
1234 *
1235 */
1236 NSS_EXTERN CK_BBOOL
1237 nssCKFWMechanism_GetCanVerify
1238 (
1239 NSSCKFWMechanism *fwMechanism,
1240 CK_RV *pError
1241 );
1242
1243 /*
1244 * nssCKFWMechanism_GetCanVerifyRecover
1245 *
1246 */
1247 NSS_EXTERN CK_BBOOL
1248 nssCKFWMechanism_GetCanVerifyRecover
1249 (
1250 NSSCKFWMechanism *fwMechanism,
1251 CK_RV *pError
1252 );
1253
1254 /*
1255 * nssCKFWMechanism_GetCanGenerate
1256 *
1257 */
1258 NSS_EXTERN CK_BBOOL
1259 nssCKFWMechanism_GetCanGenerate
1260 (
1261 NSSCKFWMechanism *fwMechanism,
1262 CK_RV *pError
1263 );
1264
1265 /*
1266 * nssCKFWMechanism_GetCanGenerateKeyPair
1267 *
1268 */
1269 NSS_EXTERN CK_BBOOL
1270 nssCKFWMechanism_GetCanGenerateKeyPair
1271 (
1272 NSSCKFWMechanism *fwMechanism,
1273 CK_RV *pError
1274 );
1275
1276 /*
1277 * nssCKFWMechanism_GetCanWrap
1278 *
1279 */
1280 NSS_EXTERN CK_BBOOL
1281 nssCKFWMechanism_GetCanWrap
1282 (
1283 NSSCKFWMechanism *fwMechanism,
1284 CK_RV *pError
1285 );
1286
1287 /*
1288 * nssCKFWMechanism_GetCanUnwrap
1289 *
1290 */
1291 NSS_EXTERN CK_BBOOL
1292 nssCKFWMechanism_GetCanUnwrap
1293 (
1294 NSSCKFWMechanism *fwMechanism,
1295 CK_RV *pError
1296 );
1297
1298 /*
1299 * nssCKFWMechanism_GetCanDerive
1300 *
1301 */
1302 NSS_EXTERN CK_BBOOL
1303 nssCKFWMechanism_GetCanDerive
1304 (
1305 NSSCKFWMechanism *fwMechanism,
1306 CK_RV *pError
1307 );
1308
1309 /*
1310 * nssCKFWMechanism_EncryptInit
1311 */
1312 NSS_EXTERN CK_RV
1313 nssCKFWMechanism_EncryptInit
1314 (
1315 NSSCKFWMechanism *fwMechanism,
1316 CK_MECHANISM *pMechanism,
1317 NSSCKFWSession *fwSession,
1318 NSSCKFWObject *fwObject
1319 );
1320
1321 /*
1322 * nssCKFWMechanism_DecryptInit
1323 */
1324 NSS_EXTERN CK_RV
1325 nssCKFWMechanism_DecryptInit
1326 (
1327 NSSCKFWMechanism *fwMechanism,
1328 CK_MECHANISM *pMechanism,
1329 NSSCKFWSession *fwSession,
1330 NSSCKFWObject *fwObject
1331 );
1332
1333 /*
1334 * nssCKFWMechanism_DigestInit
1335 */
1336 NSS_EXTERN CK_RV
1337 nssCKFWMechanism_DigestInit
1338 (
1339 NSSCKFWMechanism *fwMechanism,
1340 CK_MECHANISM *pMechanism,
1341 NSSCKFWSession *fwSession
1342 );
1343
1344 /*
1345 * nssCKFWMechanism_SignInit
1346 */
1347 NSS_EXTERN CK_RV
1348 nssCKFWMechanism_SignInit
1349 (
1350 NSSCKFWMechanism *fwMechanism,
1351 CK_MECHANISM *pMechanism,
1352 NSSCKFWSession *fwSession,
1353 NSSCKFWObject *fwObject
1354 );
1355
1356 /*
1357 * nssCKFWMechanism_SignRecoverInit
1358 */
1359 NSS_EXTERN CK_RV
1360 nssCKFWMechanism_SignRecoverInit
1361 (
1362 NSSCKFWMechanism *fwMechanism,
1363 CK_MECHANISM *pMechanism,
1364 NSSCKFWSession *fwSession,
1365 NSSCKFWObject *fwObject
1366 );
1367
1368 /*
1369 * nssCKFWMechanism_VerifyInit
1370 */
1371 NSS_EXTERN CK_RV
1372 nssCKFWMechanism_VerifyInit
1373 (
1374 NSSCKFWMechanism *fwMechanism,
1375 CK_MECHANISM *pMechanism,
1376 NSSCKFWSession *fwSession,
1377 NSSCKFWObject *fwObject
1378 );
1379
1380 /*
1381 * nssCKFWMechanism_VerifyRecoverInit
1382 */
1383 NSS_EXTERN CK_RV
1384 nssCKFWMechanism_VerifyRecoverInit
1385 (
1386 NSSCKFWMechanism *fwMechanism,
1387 CK_MECHANISM *pMechanism,
1388 NSSCKFWSession *fwSession,
1389 NSSCKFWObject *fwObject
1390 );
1391
1392 /*
1393 * nssCKFWMechanism_GenerateKey
1394 */
1395 NSS_EXTERN NSSCKFWObject *
1396 nssCKFWMechanism_GenerateKey
1397 (
1398 NSSCKFWMechanism *fwMechanism,
1399 CK_MECHANISM_PTR pMechanism,
1400 NSSCKFWSession *fwSession,
1401 CK_ATTRIBUTE_PTR pTemplate,
1402 CK_ULONG ulAttributeCount,
1403 CK_RV *pError
1404 );
1405
1406 /*
1407 * nssCKFWMechanism_GenerateKeyPair
1408 */
1409 NSS_EXTERN CK_RV
1410 nssCKFWMechanism_GenerateKeyPair
1411 (
1412 NSSCKFWMechanism *fwMechanism,
1413 CK_MECHANISM_PTR pMechanism,
1414 NSSCKFWSession *fwSession,
1415 CK_ATTRIBUTE_PTR pPublicKeyTemplate,
1416 CK_ULONG ulPublicKeyAttributeCount,
1417 CK_ATTRIBUTE_PTR pPrivateKeyTemplate,
1418 CK_ULONG ulPrivateKeyAttributeCount,
1419 NSSCKFWObject **fwPublicKeyObject,
1420 NSSCKFWObject **fwPrivateKeyObject
1421 );
1422
1423 /*
1424 * nssCKFWMechanism_GetWrapKeyLength
1425 */
1426 NSS_EXTERN CK_ULONG
1427 nssCKFWMechanism_GetWrapKeyLength
1428 (
1429 NSSCKFWMechanism *fwMechanism,
1430 CK_MECHANISM_PTR pMechanism,
1431 NSSCKFWSession *fwSession,
1432 NSSCKFWObject *fwWrappingKeyObject,
1433 NSSCKFWObject *fwObject,
1434 CK_RV *pError
1435 );
1436
1437 /*
1438 * nssCKFWMechanism_WrapKey
1439 */
1440 NSS_EXTERN CK_RV
1441 nssCKFWMechanism_WrapKey
1442 (
1443 NSSCKFWMechanism *fwMechanism,
1444 CK_MECHANISM_PTR pMechanism,
1445 NSSCKFWSession *fwSession,
1446 NSSCKFWObject *fwWrappingKeyObject,
1447 NSSCKFWObject *fwObject,
1448 NSSItem *wrappedKey
1449 );
1450
1451 /*
1452 * nssCKFWMechanism_UnwrapKey
1453 */
1454 NSS_EXTERN NSSCKFWObject *
1455 nssCKFWMechanism_UnwrapKey
1456 (
1457 NSSCKFWMechanism *fwMechanism,
1458 CK_MECHANISM_PTR pMechanism,
1459 NSSCKFWSession *fwSession,
1460 NSSCKFWObject *fwWrappingKeyObject,
1461 NSSItem *wrappedKey,
1462 CK_ATTRIBUTE_PTR pTemplate,
1463 CK_ULONG ulAttributeCount,
1464 CK_RV *pError
1465 );
1466
1467 /*
1468 * nssCKFWMechanism_DeriveKey
1469 */
1470 NSS_EXTERN NSSCKFWObject *
1471 nssCKFWMechanism_DeriveKey
1472 (
1473 NSSCKFWMechanism *fwMechanism,
1474 CK_MECHANISM_PTR pMechanism,
1475 NSSCKFWSession *fwSession,
1476 NSSCKFWObject *fwBaseKeyObject,
1477 CK_ATTRIBUTE_PTR pTemplate,
1478 CK_ULONG ulAttributeCount,
1479 CK_RV *pError
1480 );
1481
1482 /*
1483 * NSSCKFWCryptoOperation
1484 *
1485 * -- create/destroy --
1486 * nssCKFWCryptoOperation_Create
1487 * nssCKFWCryptoOperation_Destroy
1488 *
1489 * -- implement public accessors --
1490 * nssCKFWCryptoOperation_GetMDCryptoOperation
1491 * nssCKFWCryptoOperation_GetType
1492 *
1493 * -- private accessors --
1494 *
1495 * -- module fronts --
1496 * nssCKFWCryptoOperation_GetFinalLength
1497 * nssCKFWCryptoOperation_GetOperationLength
1498 * nssCKFWCryptoOperation_Final
1499 * nssCKFWCryptoOperation_Update
1500 * nssCKFWCryptoOperation_DigestUpdate
1501 * nssCKFWCryptoOperation_DigestKey
1502 * nssCKFWCryptoOperation_UpdateFinal
1503 */
1504
1505 /*
1506 * nssCKFWCrytoOperation_Create
1507 */
1508 NSS_EXTERN NSSCKFWCryptoOperation *
1509 nssCKFWCryptoOperation_Create
1510 (
1511 NSSCKMDCryptoOperation *mdOperation,
1512 NSSCKMDSession *mdSession,
1513 NSSCKFWSession *fwSession,
1514 NSSCKMDToken *mdToken,
1515 NSSCKFWToken *fwToken,
1516 NSSCKMDInstance *mdInstance,
1517 NSSCKFWInstance *fwInstance,
1518 NSSCKFWCryptoOperationType type,
1519 CK_RV *pError
1520 );
1521
1522 /*
1523 * nssCKFWCryptoOperation_Destroy
1524 */
1525 NSS_EXTERN void
1526 nssCKFWCryptoOperation_Destroy
1527 (
1528 NSSCKFWCryptoOperation *fwOperation
1529 );
1530
1531 /*
1532 * nssCKFWCryptoOperation_GetMDCryptoOperation
1533 */
1534 NSS_EXTERN NSSCKMDCryptoOperation *
1535 nssCKFWCryptoOperation_GetMDCryptoOperation
1536 (
1537 NSSCKFWCryptoOperation *fwOperation
1538 );
1539
1540 /*
1541 * nssCKFWCryptoOperation_GetType
1542 */
1543 NSS_EXTERN NSSCKFWCryptoOperationType
1544 nssCKFWCryptoOperation_GetType
1545 (
1546 NSSCKFWCryptoOperation *fwOperation
1547 );
1548
1549 /*
1550 * nssCKFWCryptoOperation_GetFinalLength
1551 */
1552 NSS_EXTERN CK_ULONG
1553 nssCKFWCryptoOperation_GetFinalLength
1554 (
1555 NSSCKFWCryptoOperation *fwOperation,
1556 CK_RV *pError
1557 );
1558
1559 /*
1560 * nssCKFWCryptoOperation_GetOperationLength
1561 */
1562 NSS_EXTERN CK_ULONG
1563 nssCKFWCryptoOperation_GetOperationLength
1564 (
1565 NSSCKFWCryptoOperation *fwOperation,
1566 NSSItem *inputBuffer,
1567 CK_RV *pError
1568 );
1569
1570 /*
1571 * nssCKFWCryptoOperation_Final
1572 */
1573 NSS_EXTERN CK_RV
1574 nssCKFWCryptoOperation_Final
1575 (
1576 NSSCKFWCryptoOperation *fwOperation,
1577 NSSItem *outputBuffer
1578 );
1579
1580 /*
1581 * nssCKFWCryptoOperation_Update
1582 */
1583 NSS_EXTERN CK_RV
1584 nssCKFWCryptoOperation_Update
1585 (
1586 NSSCKFWCryptoOperation *fwOperation,
1587 NSSItem *inputBuffer,
1588 NSSItem *outputBuffer
1589 );
1590
1591 /*
1592 * nssCKFWCryptoOperation_DigestUpdate
1593 */
1594 NSS_EXTERN CK_RV
1595 nssCKFWCryptoOperation_DigestUpdate
1596 (
1597 NSSCKFWCryptoOperation *fwOperation,
1598 NSSItem *inputBuffer
1599 );
1600
1601 /*
1602 * nssCKFWCryptoOperation_DigestKey
1603 */
1604 NSS_EXTERN CK_RV
1605 nssCKFWCryptoOperation_DigestKey
1606 (
1607 NSSCKFWCryptoOperation *fwOperation,
1608 NSSCKFWObject *fwKey
1609 );
1610
1611 /*
1612 * nssCKFWCryptoOperation_UpdateFinal
1613 */
1614 NSS_EXTERN CK_RV
1615 nssCKFWCryptoOperation_UpdateFinal
1616 (
1617 NSSCKFWCryptoOperation *fwOperation,
1618 NSSItem *inputBuffer,
1619 NSSItem *outputBuffer
1620 );
1621
1622 /*
1623 * nssCKFWCryptoOperation_UpdateCombo
1624 */
1625 NSS_EXTERN CK_RV
1626 nssCKFWCryptoOperation_UpdateCombo
1627 (
1628 NSSCKFWCryptoOperation *fwOperation,
1629 NSSCKFWCryptoOperation *fwPeerOperation,
1630 NSSItem *inputBuffer,
1631 NSSItem *outputBuffer
1632 );
1633
1634 /*
1635 * NSSCKFWSession
1636 *
1637 * -- create/destroy --
1638 * nssCKFWSession_Create
1639 * nssCKFWSession_Destroy
1640 *
1641 * -- implement public accessors --
1642 * nssCKFWSession_GetMDSession
1643 * nssCKFWSession_GetArena
1644 * nssCKFWSession_CallNotification
1645 * nssCKFWSession_IsRWSession
1646 * nssCKFWSession_IsSO
1647 * nssCKFWSession_GetCurrentCryptoOperation
1648 *
1649 * -- private accessors --
1650 * nssCKFWSession_GetFWSlot
1651 * nssCKFWSession_GetSessionState
1652 * nssCKFWSession_SetFWFindObjects
1653 * nssCKFWSession_GetFWFindObjects
1654 * nssCKFWSession_SetMDSession
1655 * nssCKFWSession_SetHandle
1656 * nssCKFWSession_GetHandle
1657 * nssCKFWSession_RegisterSessionObject
1658 * nssCKFWSession_DeregisterSessionObject
1659 * nssCKFWSession_SetCurrentCryptoOperation
1660 *
1661 * -- module fronts --
1662 * nssCKFWSession_GetDeviceError
1663 * nssCKFWSession_Login
1664 * nssCKFWSession_Logout
1665 * nssCKFWSession_InitPIN
1666 * nssCKFWSession_SetPIN
1667 * nssCKFWSession_GetOperationStateLen
1668 * nssCKFWSession_GetOperationState
1669 * nssCKFWSession_SetOperationState
1670 * nssCKFWSession_CreateObject
1671 * nssCKFWSession_CopyObject
1672 * nssCKFWSession_FindObjectsInit
1673 * nssCKFWSession_SeedRandom
1674 * nssCKFWSession_GetRandom
1675 * nssCKFWSession_Final
1676 * nssCKFWSession_Update
1677 * nssCKFWSession_DigestUpdate
1678 * nssCKFWSession_DigestKey
1679 * nssCKFWSession_UpdateFinal
1680 * nssCKFWSession_UpdateCombo
1681 */
1682
1683 /*
1684 * nssCKFWSession_Create
1685 *
1686 */
1687 NSS_EXTERN NSSCKFWSession *
1688 nssCKFWSession_Create
1689 (
1690 NSSCKFWToken *fwToken,
1691 CK_BBOOL rw,
1692 CK_VOID_PTR pApplication,
1693 CK_NOTIFY Notify,
1694 CK_RV *pError
1695 );
1696
1697 /*
1698 * nssCKFWSession_Destroy
1699 *
1700 */
1701 NSS_EXTERN CK_RV
1702 nssCKFWSession_Destroy
1703 (
1704 NSSCKFWSession *fwSession,
1705 CK_BBOOL removeFromTokenHash
1706 );
1707
1708 /*
1709 * nssCKFWSession_GetMDSession
1710 *
1711 */
1712 NSS_EXTERN NSSCKMDSession *
1713 nssCKFWSession_GetMDSession
1714 (
1715 NSSCKFWSession *fwSession
1716 );
1717
1718 /*
1719 * nssCKFWSession_GetArena
1720 *
1721 */
1722 NSS_EXTERN NSSArena *
1723 nssCKFWSession_GetArena
1724 (
1725 NSSCKFWSession *fwSession,
1726 CK_RV *pError
1727 );
1728
1729 /*
1730 * nssCKFWSession_CallNotification
1731 *
1732 */
1733 NSS_EXTERN CK_RV
1734 nssCKFWSession_CallNotification
1735 (
1736 NSSCKFWSession *fwSession,
1737 CK_NOTIFICATION event
1738 );
1739
1740 /*
1741 * nssCKFWSession_IsRWSession
1742 *
1743 */
1744 NSS_EXTERN CK_BBOOL
1745 nssCKFWSession_IsRWSession
1746 (
1747 NSSCKFWSession *fwSession
1748 );
1749
1750 /*
1751 * nssCKFWSession_IsSO
1752 *
1753 */
1754 NSS_EXTERN CK_BBOOL
1755 nssCKFWSession_IsSO
1756 (
1757 NSSCKFWSession *fwSession
1758 );
1759
1760 /*
1761 * nssCKFWSession_GetFWSlot
1762 *
1763 */
1764 NSS_EXTERN NSSCKFWSlot *
1765 nssCKFWSession_GetFWSlot
1766 (
1767 NSSCKFWSession *fwSession
1768 );
1769
1770 /*
1771 * nssCFKWSession_GetSessionState
1772 *
1773 */
1774 NSS_EXTERN CK_STATE
1775 nssCKFWSession_GetSessionState
1776 (
1777 NSSCKFWSession *fwSession
1778 );
1779
1780 /*
1781 * nssCKFWSession_SetFWFindObjects
1782 *
1783 */
1784 NSS_EXTERN CK_RV
1785 nssCKFWSession_SetFWFindObjects
1786 (
1787 NSSCKFWSession *fwSession,
1788 NSSCKFWFindObjects *fwFindObjects
1789 );
1790
1791 /*
1792 * nssCKFWSession_GetFWFindObjects
1793 *
1794 */
1795 NSS_EXTERN NSSCKFWFindObjects *
1796 nssCKFWSession_GetFWFindObjects
1797 (
1798 NSSCKFWSession *fwSesssion,
1799 CK_RV *pError
1800 );
1801
1802 /*
1803 * nssCKFWSession_SetMDSession
1804 *
1805 */
1806 NSS_EXTERN CK_RV
1807 nssCKFWSession_SetMDSession
1808 (
1809 NSSCKFWSession *fwSession,
1810 NSSCKMDSession *mdSession
1811 );
1812
1813 /*
1814 * nssCKFWSession_SetHandle
1815 *
1816 */
1817 NSS_EXTERN CK_RV
1818 nssCKFWSession_SetHandle
1819 (
1820 NSSCKFWSession *fwSession,
1821 CK_SESSION_HANDLE hSession
1822 );
1823
1824 /*
1825 * nssCKFWSession_GetHandle
1826 *
1827 */
1828 NSS_EXTERN CK_SESSION_HANDLE
1829 nssCKFWSession_GetHandle
1830 (
1831 NSSCKFWSession *fwSession
1832 );
1833
1834 /*
1835 * nssCKFWSession_RegisterSessionObject
1836 *
1837 */
1838 NSS_EXTERN CK_RV
1839 nssCKFWSession_RegisterSessionObject
1840 (
1841 NSSCKFWSession *fwSession,
1842 NSSCKFWObject *fwObject
1843 );
1844
1845 /*
1846 * nssCKFWSession_DeregisterSessionObject
1847 *
1848 */
1849 NSS_EXTERN CK_RV
1850 nssCKFWSession_DeregisterSessionObject
1851 (
1852 NSSCKFWSession *fwSession,
1853 NSSCKFWObject *fwObject
1854 );
1855
1856 /*
1857 * nssCKFWSession_GetDeviceError
1858 *
1859 */
1860 NSS_EXTERN CK_ULONG
1861 nssCKFWSession_GetDeviceError
1862 (
1863 NSSCKFWSession *fwSession
1864 );
1865
1866 /*
1867 * nssCKFWSession_Login
1868 *
1869 */
1870 NSS_EXTERN CK_RV
1871 nssCKFWSession_Login
1872 (
1873 NSSCKFWSession *fwSession,
1874 CK_USER_TYPE userType,
1875 NSSItem *pin
1876 );
1877
1878 /*
1879 * nssCKFWSession_Logout
1880 *
1881 */
1882 NSS_EXTERN CK_RV
1883 nssCKFWSession_Logout
1884 (
1885 NSSCKFWSession *fwSession
1886 );
1887
1888 /*
1889 * nssCKFWSession_InitPIN
1890 *
1891 */
1892 NSS_EXTERN CK_RV
1893 nssCKFWSession_InitPIN
1894 (
1895 NSSCKFWSession *fwSession,
1896 NSSItem *pin
1897 );
1898
1899 /*
1900 * nssCKFWSession_SetPIN
1901 *
1902 */
1903 NSS_EXTERN CK_RV
1904 nssCKFWSession_SetPIN
1905 (
1906 NSSCKFWSession *fwSession,
1907 NSSItem *newPin,
1908 NSSItem *oldPin
1909 );
1910
1911 /*
1912 * nssCKFWSession_GetOperationStateLen
1913 *
1914 */
1915 NSS_EXTERN CK_ULONG
1916 nssCKFWSession_GetOperationStateLen
1917 (
1918 NSSCKFWSession *fwSession,
1919 CK_RV *pError
1920 );
1921
1922 /*
1923 * nssCKFWSession_GetOperationState
1924 *
1925 */
1926 NSS_EXTERN CK_RV
1927 nssCKFWSession_GetOperationState
1928 (
1929 NSSCKFWSession *fwSession,
1930 NSSItem *buffer
1931 );
1932
1933 /*
1934 * nssCKFWSession_SetOperationState
1935 *
1936 */
1937 NSS_EXTERN CK_RV
1938 nssCKFWSession_SetOperationState
1939 (
1940 NSSCKFWSession *fwSession,
1941 NSSItem *state,
1942 NSSCKFWObject *encryptionKey,
1943 NSSCKFWObject *authenticationKey
1944 );
1945
1946 /*
1947 * nssCKFWSession_CreateObject
1948 *
1949 */
1950 NSS_EXTERN NSSCKFWObject *
1951 nssCKFWSession_CreateObject
1952 (
1953 NSSCKFWSession *fwSession,
1954 CK_ATTRIBUTE_PTR pTemplate,
1955 CK_ULONG ulAttributeCount,
1956 CK_RV *pError
1957 );
1958
1959 /*
1960 * nssCKFWSession_CopyObject
1961 *
1962 */
1963 NSS_EXTERN NSSCKFWObject *
1964 nssCKFWSession_CopyObject
1965 (
1966 NSSCKFWSession *fwSession,
1967 NSSCKFWObject *object,
1968 CK_ATTRIBUTE_PTR pTemplate,
1969 CK_ULONG ulAttributeCount,
1970 CK_RV *pError
1971 );
1972
1973 /*
1974 * nssCKFWSession_FindObjectsInit
1975 *
1976 */
1977 NSS_EXTERN NSSCKFWFindObjects *
1978 nssCKFWSession_FindObjectsInit
1979 (
1980 NSSCKFWSession *fwSession,
1981 CK_ATTRIBUTE_PTR pTemplate,
1982 CK_ULONG ulAttributeCount,
1983 CK_RV *pError
1984 );
1985
1986 /*
1987 * nssCKFWSession_SetCurrentCryptoOperation
1988 */
1989 NSS_IMPLEMENT void
1990 nssCKFWSession_SetCurrentCryptoOperation
1991 (
1992 NSSCKFWSession *fwSession,
1993 NSSCKFWCryptoOperation * fwOperation,
1994 NSSCKFWCryptoOperationState state
1995 );
1996
1997 /*
1998 * nssCKFWSession_GetCurrentCryptoOperation
1999 */
2000 NSS_IMPLEMENT NSSCKFWCryptoOperation *
2001 nssCKFWSession_GetCurrentCryptoOperation
2002 (
2003 NSSCKFWSession *fwSession,
2004 NSSCKFWCryptoOperationState state
2005 );
2006
2007 /*
2008 * nssCKFWSession_Final
2009 * (terminate a cryptographic operation and get the result)
2010 */
2011 NSS_IMPLEMENT CK_RV
2012 nssCKFWSession_Final
2013 (
2014 NSSCKFWSession *fwSession,
2015 NSSCKFWCryptoOperationType type,
2016 NSSCKFWCryptoOperationState state,
2017 CK_BYTE_PTR outBuf,
2018 CK_ULONG_PTR outBufLen
2019 );
2020
2021 /*
2022 * nssCKFWSession_Update
2023 * (get the next step of an encrypt/decrypt operation)
2024 */
2025 NSS_IMPLEMENT CK_RV
2026 nssCKFWSession_Update
2027 (
2028 NSSCKFWSession *fwSession,
2029 NSSCKFWCryptoOperationType type,
2030 NSSCKFWCryptoOperationState state,
2031 CK_BYTE_PTR inBuf,
2032 CK_ULONG inBufLen,
2033 CK_BYTE_PTR outBuf,
2034 CK_ULONG_PTR outBufLen
2035 );
2036
2037 /*
2038 * nssCKFWSession_DigestUpdate
2039 * (do the next step of an digest/sign/verify operation)
2040 */
2041 NSS_IMPLEMENT CK_RV
2042 nssCKFWSession_DigestUpdate
2043 (
2044 NSSCKFWSession *fwSession,
2045 NSSCKFWCryptoOperationType type,
2046 NSSCKFWCryptoOperationState state,
2047 CK_BYTE_PTR inBuf,
2048 CK_ULONG inBufLen
2049 );
2050
2051 /*
2052 * nssCKFWSession_DigestKey
2053 * (do the next step of an digest/sign/verify operation)
2054 */
2055 NSS_IMPLEMENT CK_RV
2056 nssCKFWSession_DigestKey
2057 (
2058 NSSCKFWSession *fwSession,
2059 NSSCKFWObject *fwKey
2060 );
2061
2062 /*
2063 * nssCKFWSession_UpdateFinal
2064 * (do a single-step of a cryptographic operation and get the result)
2065 */
2066 NSS_IMPLEMENT CK_RV
2067 nssCKFWSession_UpdateFinal
2068 (
2069 NSSCKFWSession *fwSession,
2070 NSSCKFWCryptoOperationType type,
2071 NSSCKFWCryptoOperationState state,
2072 CK_BYTE_PTR inBuf,
2073 CK_ULONG inBufLen,
2074 CK_BYTE_PTR outBuf,
2075 CK_ULONG_PTR outBufLen
2076 );
2077
2078 /*
2079 * nssCKFWSession_UpdateCombo
2080 * (do a combination encrypt/decrypt and sign/digest/verify operation)
2081 */
2082 NSS_IMPLEMENT CK_RV
2083 nssCKFWSession_UpdateCombo
2084 (
2085 NSSCKFWSession *fwSession,
2086 NSSCKFWCryptoOperationType encryptType,
2087 NSSCKFWCryptoOperationType digestType,
2088 NSSCKFWCryptoOperationState digestState,
2089 CK_BYTE_PTR inBuf,
2090 CK_ULONG inBufLen,
2091 CK_BYTE_PTR outBuf,
2092 CK_ULONG_PTR outBufLen
2093 );
2094
2095 /*
2096 * nssCKFWSession_SeedRandom
2097 *
2098 */
2099 NSS_EXTERN CK_RV
2100 nssCKFWSession_SeedRandom
2101 (
2102 NSSCKFWSession *fwSession,
2103 NSSItem *seed
2104 );
2105
2106 /*
2107 * nssCKFWSession_GetRandom
2108 *
2109 */
2110 NSS_EXTERN CK_RV
2111 nssCKFWSession_GetRandom
2112 (
2113 NSSCKFWSession *fwSession,
2114 NSSItem *buffer
2115 );
2116
2117 /*
2118 * NSSCKFWObject
2119 *
2120 * -- create/destroy --
2121 * nssCKFWObject_Create
2122 * nssCKFWObject_Finalize
2123 * nssCKFWObject_Destroy
2124 *
2125 * -- implement public accessors --
2126 * nssCKFWObject_GetMDObject
2127 * nssCKFWObject_GetArena
2128 *
2129 * -- private accessors --
2130 * nssCKFWObject_SetHandle
2131 * nssCKFWObject_GetHandle
2132 *
2133 * -- module fronts --
2134 * nssCKFWObject_IsTokenObject
2135 * nssCKFWObject_GetAttributeCount
2136 * nssCKFWObject_GetAttributeTypes
2137 * nssCKFWObject_GetAttributeSize
2138 * nssCKFWObject_GetAttribute
2139 * nssCKFWObject_SetAttribute
2140 * nssCKFWObject_GetObjectSize
2141 */
2142
2143 /*
2144 * nssCKFWObject_Create
2145 *
2146 */
2147 NSS_EXTERN NSSCKFWObject *
2148 nssCKFWObject_Create
2149 (
2150 NSSArena *arena,
2151 NSSCKMDObject *mdObject,
2152 NSSCKFWSession *fwSession,
2153 NSSCKFWToken *fwToken,
2154 NSSCKFWInstance *fwInstance,
2155 CK_RV *pError
2156 );
2157
2158 /*
2159 * nssCKFWObject_Finalize
2160 *
2161 */
2162 NSS_EXTERN void
2163 nssCKFWObject_Finalize
2164 (
2165 NSSCKFWObject *fwObject,
2166 PRBool removeFromHash
2167 );
2168
2169 /*
2170 * nssCKFWObject_Destroy
2171 *
2172 */
2173 NSS_EXTERN void
2174 nssCKFWObject_Destroy
2175 (
2176 NSSCKFWObject *fwObject
2177 );
2178
2179 /*
2180 * nssCKFWObject_GetMDObject
2181 *
2182 */
2183 NSS_EXTERN NSSCKMDObject *
2184 nssCKFWObject_GetMDObject
2185 (
2186 NSSCKFWObject *fwObject
2187 );
2188
2189 /*
2190 * nssCKFWObject_GetArena
2191 *
2192 */
2193 NSS_EXTERN NSSArena *
2194 nssCKFWObject_GetArena
2195 (
2196 NSSCKFWObject *fwObject,
2197 CK_RV *pError
2198 );
2199
2200 /*
2201 * nssCKFWObject_SetHandle
2202 *
2203 */
2204 NSS_EXTERN CK_RV
2205 nssCKFWObject_SetHandle
2206 (
2207 NSSCKFWObject *fwObject,
2208 CK_OBJECT_HANDLE hObject
2209 );
2210
2211 /*
2212 * nssCKFWObject_GetHandle
2213 *
2214 */
2215 NSS_EXTERN CK_OBJECT_HANDLE
2216 nssCKFWObject_GetHandle
2217 (
2218 NSSCKFWObject *fwObject
2219 );
2220
2221 /*
2222 * nssCKFWObject_IsTokenObject
2223 *
2224 */
2225 NSS_EXTERN CK_BBOOL
2226 nssCKFWObject_IsTokenObject
2227 (
2228 NSSCKFWObject *fwObject
2229 );
2230
2231 /*
2232 * nssCKFWObject_GetAttributeCount
2233 *
2234 */
2235 NSS_EXTERN CK_ULONG
2236 nssCKFWObject_GetAttributeCount
2237 (
2238 NSSCKFWObject *fwObject,
2239 CK_RV *pError
2240 );
2241
2242 /*
2243 * nssCKFWObject_GetAttributeTypes
2244 *
2245 */
2246 NSS_EXTERN CK_RV
2247 nssCKFWObject_GetAttributeTypes
2248 (
2249 NSSCKFWObject *fwObject,
2250 CK_ATTRIBUTE_TYPE_PTR typeArray,
2251 CK_ULONG ulCount
2252 );
2253
2254 /*
2255 * nssCKFWObject_GetAttributeSize
2256 *
2257 */
2258 NSS_EXTERN CK_ULONG
2259 nssCKFWObject_GetAttributeSize
2260 (
2261 NSSCKFWObject *fwObject,
2262 CK_ATTRIBUTE_TYPE attribute,
2263 CK_RV *pError
2264 );
2265
2266 /*
2267 * nssCKFWObject_GetAttribute
2268 *
2269 * Usual NSS allocation rules:
2270 * If itemOpt is not NULL, it will be returned; otherwise an NSSItem
2271 * will be allocated. If itemOpt is not NULL but itemOpt->data is,
2272 * the buffer will be allocated; otherwise, the buffer will be used.
2273 * Any allocations will come from the optional arena, if one is
2274 * specified.
2275 */
2276 NSS_EXTERN NSSItem *
2277 nssCKFWObject_GetAttribute
2278 (
2279 NSSCKFWObject *fwObject,
2280 CK_ATTRIBUTE_TYPE attribute,
2281 NSSItem *itemOpt,
2282 NSSArena *arenaOpt,
2283 CK_RV *pError
2284 );
2285
2286 /*
2287 * nssCKFWObject_SetAttribute
2288 *
2289 */
2290 NSS_EXTERN CK_RV
2291 nssCKFWObject_SetAttribute
2292 (
2293 NSSCKFWObject *fwObject,
2294 NSSCKFWSession *fwSession,
2295 CK_ATTRIBUTE_TYPE attribute,
2296 NSSItem *value
2297 );
2298
2299 /*
2300 * nssCKFWObject_GetObjectSize
2301 *
2302 */
2303 NSS_EXTERN CK_ULONG
2304 nssCKFWObject_GetObjectSize
2305 (
2306 NSSCKFWObject *fwObject,
2307 CK_RV *pError
2308 );
2309
2310 /*
2311 * NSSCKFWFindObjects
2312 *
2313 * -- create/destroy --
2314 * nssCKFWFindObjects_Create
2315 * nssCKFWFindObjects_Destroy
2316 *
2317 * -- implement public accessors --
2318 * nssCKFWFindObjects_GetMDFindObjects
2319 *
2320 * -- private accessors --
2321 *
2322 * -- module fronts --
2323 * nssCKFWFindObjects_Next
2324 */
2325
2326 /*
2327 * nssCKFWFindObjects_Create
2328 *
2329 */
2330 NSS_EXTERN NSSCKFWFindObjects *
2331 nssCKFWFindObjects_Create
2332 (
2333 NSSCKFWSession *fwSession,
2334 NSSCKFWToken *fwToken,
2335 NSSCKFWInstance *fwInstance,
2336 NSSCKMDFindObjects *mdFindObjects1,
2337 NSSCKMDFindObjects *mdFindObjects2,
2338 CK_RV *pError
2339 );
2340
2341 /*
2342 * nssCKFWFindObjects_Destroy
2343 *
2344 */
2345 NSS_EXTERN void
2346 nssCKFWFindObjects_Destroy
2347 (
2348 NSSCKFWFindObjects *fwFindObjects
2349 );
2350
2351 /*
2352 * nssCKFWFindObjects_GetMDFindObjects
2353 *
2354 */
2355 NSS_EXTERN NSSCKMDFindObjects *
2356 nssCKFWFindObjects_GetMDFindObjects
2357 (
2358 NSSCKFWFindObjects *fwFindObjects
2359 );
2360
2361 /*
2362 * nssCKFWFindObjects_Next
2363 *
2364 */
2365 NSS_EXTERN NSSCKFWObject *
2366 nssCKFWFindObjects_Next
2367 (
2368 NSSCKFWFindObjects *fwFindObjects,
2369 NSSArena *arenaOpt,
2370 CK_RV *pError
2371 );
2372
2373 /*
2374 * NSSCKFWMutex
2375 *
2376 * nssCKFWMutex_Create
2377 * nssCKFWMutex_Destroy
2378 * nssCKFWMutex_Lock
2379 * nssCKFWMutex_Unlock
2380 *
2381 */
2382
2383 /*
2384 * nssCKFWMutex_Create
2385 *
2386 */
2387 NSS_EXTERN NSSCKFWMutex *
2388 nssCKFWMutex_Create
2389 (
2390 CK_C_INITIALIZE_ARGS_PTR pInitArgs,
2391 CryptokiLockingState LockingState,
2392 NSSArena *arena,
2393 CK_RV *pError
2394 );
2395
2396 /*
2397 * nssCKFWMutex_Destroy
2398 *
2399 */
2400 NSS_EXTERN CK_RV
2401 nssCKFWMutex_Destroy
2402 (
2403 NSSCKFWMutex *mutex
2404 );
2405
2406 /*
2407 * nssCKFWMutex_Lock
2408 *
2409 */
2410 NSS_EXTERN CK_RV
2411 nssCKFWMutex_Lock
2412 (
2413 NSSCKFWMutex *mutex
2414 );
2415
2416 /*
2417 * nssCKFWMutex_Unlock
2418 *
2419 */
2420 NSS_EXTERN CK_RV
2421 nssCKFWMutex_Unlock
2422 (
2423 NSSCKFWMutex *mutex
2424 );
2425
2426 #endif /* CKFW_H */
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)