OLD | NEW |
| (Empty) |
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 #ifdef DEBUG | |
6 static const char CVS_ID[] = "@(#) $RCSfile: cryptocontext.c,v $ $Revision: 1.20
$ $Date: 2012/04/25 14:50:07 $"; | |
7 #endif /* DEBUG */ | |
8 | |
9 #ifndef DEV_H | |
10 #include "dev.h" | |
11 #endif /* DEV_H */ | |
12 | |
13 #ifndef PKIM_H | |
14 #include "pkim.h" | |
15 #endif /* PKIM_H */ | |
16 | |
17 #ifndef PKISTORE_H | |
18 #include "pkistore.h" | |
19 #endif /* PKISTORE_H */ | |
20 | |
21 extern const NSSError NSS_ERROR_NOT_FOUND; | |
22 extern const NSSError NSS_ERROR_INVALID_ARGUMENT; | |
23 | |
24 NSS_IMPLEMENT NSSCryptoContext * | |
25 nssCryptoContext_Create ( | |
26 NSSTrustDomain *td, | |
27 NSSCallback *uhhOpt | |
28 ) | |
29 { | |
30 NSSArena *arena; | |
31 NSSCryptoContext *rvCC; | |
32 arena = NSSArena_Create(); | |
33 if (!arena) { | |
34 return NULL; | |
35 } | |
36 rvCC = nss_ZNEW(arena, NSSCryptoContext); | |
37 if (!rvCC) { | |
38 return NULL; | |
39 } | |
40 rvCC->td = td; | |
41 rvCC->arena = arena; | |
42 rvCC->certStore = nssCertificateStore_Create(rvCC->arena); | |
43 if (!rvCC->certStore) { | |
44 nssArena_Destroy(arena); | |
45 return NULL; | |
46 } | |
47 | |
48 return rvCC; | |
49 } | |
50 | |
51 NSS_IMPLEMENT PRStatus | |
52 NSSCryptoContext_Destroy ( | |
53 NSSCryptoContext *cc | |
54 ) | |
55 { | |
56 PRStatus status = PR_SUCCESS; | |
57 PORT_Assert(cc->certStore); | |
58 if (cc->certStore) { | |
59 status = nssCertificateStore_Destroy(cc->certStore); | |
60 if (status == PR_FAILURE) { | |
61 return status; | |
62 } | |
63 } else { | |
64 status = PR_FAILURE; | |
65 } | |
66 nssArena_Destroy(cc->arena); | |
67 return status; | |
68 } | |
69 | |
70 NSS_IMPLEMENT PRStatus | |
71 NSSCryptoContext_SetDefaultCallback ( | |
72 NSSCryptoContext *td, | |
73 NSSCallback *newCallback, | |
74 NSSCallback **oldCallbackOpt | |
75 ) | |
76 { | |
77 nss_SetError(NSS_ERROR_NOT_FOUND); | |
78 return PR_FAILURE; | |
79 } | |
80 | |
81 NSS_IMPLEMENT NSSCallback * | |
82 NSSCryptoContext_GetDefaultCallback ( | |
83 NSSCryptoContext *td, | |
84 PRStatus *statusOpt | |
85 ) | |
86 { | |
87 nss_SetError(NSS_ERROR_NOT_FOUND); | |
88 return NULL; | |
89 } | |
90 | |
91 NSS_IMPLEMENT NSSTrustDomain * | |
92 NSSCryptoContext_GetTrustDomain ( | |
93 NSSCryptoContext *td | |
94 ) | |
95 { | |
96 nss_SetError(NSS_ERROR_NOT_FOUND); | |
97 return NULL; | |
98 } | |
99 | |
100 | |
101 NSS_IMPLEMENT NSSCertificate * | |
102 NSSCryptoContext_FindOrImportCertificate ( | |
103 NSSCryptoContext *cc, | |
104 NSSCertificate *c | |
105 ) | |
106 { | |
107 NSSCertificate *rvCert = NULL; | |
108 | |
109 PORT_Assert(cc->certStore); | |
110 if (!cc->certStore) { | |
111 nss_SetError(NSS_ERROR_INVALID_ARGUMENT); | |
112 return rvCert; | |
113 } | |
114 rvCert = nssCertificateStore_FindOrAdd(cc->certStore, c); | |
115 if (rvCert == c && c->object.cryptoContext != cc) { | |
116 PORT_Assert(!c->object.cryptoContext); | |
117 c->object.cryptoContext = cc; | |
118 } | |
119 if (rvCert) { | |
120 /* an NSSCertificate cannot be part of two crypto contexts | |
121 ** simultaneously. If this assertion fails, then there is | |
122 ** a serious Stan design flaw. | |
123 */ | |
124 PORT_Assert(cc == c->object.cryptoContext); | |
125 } | |
126 return rvCert; | |
127 } | |
128 | |
129 NSS_IMPLEMENT NSSCertificate * | |
130 NSSCryptoContext_ImportPKIXCertificate ( | |
131 NSSCryptoContext *cc, | |
132 struct NSSPKIXCertificateStr *pc | |
133 ) | |
134 { | |
135 nss_SetError(NSS_ERROR_NOT_FOUND); | |
136 return NULL; | |
137 } | |
138 | |
139 NSS_IMPLEMENT NSSCertificate * | |
140 NSSCryptoContext_ImportEncodedCertificate ( | |
141 NSSCryptoContext *cc, | |
142 NSSBER *ber | |
143 ) | |
144 { | |
145 nss_SetError(NSS_ERROR_NOT_FOUND); | |
146 return NULL; | |
147 } | |
148 | |
149 NSS_IMPLEMENT PRStatus | |
150 NSSCryptoContext_ImportEncodedPKIXCertificateChain ( | |
151 NSSCryptoContext *cc, | |
152 NSSBER *ber | |
153 ) | |
154 { | |
155 nss_SetError(NSS_ERROR_NOT_FOUND); | |
156 return PR_FAILURE; | |
157 } | |
158 | |
159 NSS_IMPLEMENT PRStatus | |
160 nssCryptoContext_ImportTrust ( | |
161 NSSCryptoContext *cc, | |
162 NSSTrust *trust | |
163 ) | |
164 { | |
165 PRStatus nssrv; | |
166 PORT_Assert(cc->certStore); | |
167 if (!cc->certStore) { | |
168 return PR_FAILURE; | |
169 } | |
170 nssrv = nssCertificateStore_AddTrust(cc->certStore, trust); | |
171 #if 0 | |
172 if (nssrv == PR_SUCCESS) { | |
173 trust->object.cryptoContext = cc; | |
174 } | |
175 #endif | |
176 return nssrv; | |
177 } | |
178 | |
179 NSS_IMPLEMENT PRStatus | |
180 nssCryptoContext_ImportSMIMEProfile ( | |
181 NSSCryptoContext *cc, | |
182 nssSMIMEProfile *profile | |
183 ) | |
184 { | |
185 PRStatus nssrv; | |
186 PORT_Assert(cc->certStore); | |
187 if (!cc->certStore) { | |
188 return PR_FAILURE; | |
189 } | |
190 nssrv = nssCertificateStore_AddSMIMEProfile(cc->certStore, profile); | |
191 #if 0 | |
192 if (nssrv == PR_SUCCESS) { | |
193 profile->object.cryptoContext = cc; | |
194 } | |
195 #endif | |
196 return nssrv; | |
197 } | |
198 | |
199 NSS_IMPLEMENT NSSCertificate * | |
200 NSSCryptoContext_FindBestCertificateByNickname ( | |
201 NSSCryptoContext *cc, | |
202 const NSSUTF8 *name, | |
203 NSSTime *timeOpt, /* NULL for "now" */ | |
204 NSSUsage *usage, | |
205 NSSPolicies *policiesOpt /* NULL for none */ | |
206 ) | |
207 { | |
208 NSSCertificate **certs; | |
209 NSSCertificate *rvCert = NULL; | |
210 PORT_Assert(cc->certStore); | |
211 if (!cc->certStore) { | |
212 return NULL; | |
213 } | |
214 certs = nssCertificateStore_FindCertificatesByNickname(cc->certStore, | |
215 name, | |
216 NULL, 0, NULL); | |
217 if (certs) { | |
218 rvCert = nssCertificateArray_FindBestCertificate(certs, | |
219 timeOpt, | |
220 usage, | |
221 policiesOpt); | |
222 nssCertificateArray_Destroy(certs); | |
223 } | |
224 return rvCert; | |
225 } | |
226 | |
227 NSS_IMPLEMENT NSSCertificate ** | |
228 NSSCryptoContext_FindCertificatesByNickname ( | |
229 NSSCryptoContext *cc, | |
230 NSSUTF8 *name, | |
231 NSSCertificate *rvOpt[], | |
232 PRUint32 maximumOpt, /* 0 for no max */ | |
233 NSSArena *arenaOpt | |
234 ) | |
235 { | |
236 NSSCertificate **rvCerts; | |
237 PORT_Assert(cc->certStore); | |
238 if (!cc->certStore) { | |
239 return NULL; | |
240 } | |
241 rvCerts = nssCertificateStore_FindCertificatesByNickname(cc->certStore, | |
242 name, | |
243 rvOpt, | |
244 maximumOpt, | |
245 arenaOpt); | |
246 return rvCerts; | |
247 } | |
248 | |
249 NSS_IMPLEMENT NSSCertificate * | |
250 NSSCryptoContext_FindCertificateByIssuerAndSerialNumber ( | |
251 NSSCryptoContext *cc, | |
252 NSSDER *issuer, | |
253 NSSDER *serialNumber | |
254 ) | |
255 { | |
256 PORT_Assert(cc->certStore); | |
257 if (!cc->certStore) { | |
258 return NULL; | |
259 } | |
260 return nssCertificateStore_FindCertificateByIssuerAndSerialNumber( | |
261 cc->certStore, | |
262 issuer, | |
263 serialNumber); | |
264 } | |
265 | |
266 NSS_IMPLEMENT NSSCertificate * | |
267 NSSCryptoContext_FindBestCertificateBySubject ( | |
268 NSSCryptoContext *cc, | |
269 NSSDER *subject, | |
270 NSSTime *timeOpt, | |
271 NSSUsage *usage, | |
272 NSSPolicies *policiesOpt | |
273 ) | |
274 { | |
275 NSSCertificate **certs; | |
276 NSSCertificate *rvCert = NULL; | |
277 PORT_Assert(cc->certStore); | |
278 if (!cc->certStore) { | |
279 return NULL; | |
280 } | |
281 certs = nssCertificateStore_FindCertificatesBySubject(cc->certStore, | |
282 subject, | |
283 NULL, 0, NULL); | |
284 if (certs) { | |
285 rvCert = nssCertificateArray_FindBestCertificate(certs, | |
286 timeOpt, | |
287 usage, | |
288 policiesOpt); | |
289 nssCertificateArray_Destroy(certs); | |
290 } | |
291 return rvCert; | |
292 } | |
293 | |
294 NSS_IMPLEMENT NSSCertificate ** | |
295 nssCryptoContext_FindCertificatesBySubject ( | |
296 NSSCryptoContext *cc, | |
297 NSSDER *subject, | |
298 NSSCertificate *rvOpt[], | |
299 PRUint32 maximumOpt, /* 0 for no max */ | |
300 NSSArena *arenaOpt | |
301 ) | |
302 { | |
303 NSSCertificate **rvCerts; | |
304 PORT_Assert(cc->certStore); | |
305 if (!cc->certStore) { | |
306 return NULL; | |
307 } | |
308 rvCerts = nssCertificateStore_FindCertificatesBySubject(cc->certStore, | |
309 subject, | |
310 rvOpt, | |
311 maximumOpt, | |
312 arenaOpt); | |
313 return rvCerts; | |
314 } | |
315 | |
316 NSS_IMPLEMENT NSSCertificate ** | |
317 NSSCryptoContext_FindCertificatesBySubject ( | |
318 NSSCryptoContext *cc, | |
319 NSSDER *subject, | |
320 NSSCertificate *rvOpt[], | |
321 PRUint32 maximumOpt, /* 0 for no max */ | |
322 NSSArena *arenaOpt | |
323 ) | |
324 { | |
325 return nssCryptoContext_FindCertificatesBySubject(cc, subject, | |
326 rvOpt, maximumOpt, | |
327 arenaOpt); | |
328 } | |
329 | |
330 NSS_IMPLEMENT NSSCertificate * | |
331 NSSCryptoContext_FindBestCertificateByNameComponents ( | |
332 NSSCryptoContext *cc, | |
333 NSSUTF8 *nameComponents, | |
334 NSSTime *timeOpt, | |
335 NSSUsage *usage, | |
336 NSSPolicies *policiesOpt | |
337 ) | |
338 { | |
339 nss_SetError(NSS_ERROR_NOT_FOUND); | |
340 return NULL; | |
341 } | |
342 | |
343 NSS_IMPLEMENT NSSCertificate ** | |
344 NSSCryptoContext_FindCertificatesByNameComponents ( | |
345 NSSCryptoContext *cc, | |
346 NSSUTF8 *nameComponents, | |
347 NSSCertificate *rvOpt[], | |
348 PRUint32 maximumOpt, /* 0 for no max */ | |
349 NSSArena *arenaOpt | |
350 ) | |
351 { | |
352 nss_SetError(NSS_ERROR_NOT_FOUND); | |
353 return NULL; | |
354 } | |
355 | |
356 NSS_IMPLEMENT NSSCertificate * | |
357 NSSCryptoContext_FindCertificateByEncodedCertificate ( | |
358 NSSCryptoContext *cc, | |
359 NSSBER *encodedCertificate | |
360 ) | |
361 { | |
362 PORT_Assert(cc->certStore); | |
363 if (!cc->certStore) { | |
364 return NULL; | |
365 } | |
366 return nssCertificateStore_FindCertificateByEncodedCertificate( | |
367 cc->certStore, | |
368 encodedCertificate); | |
369 } | |
370 | |
371 NSS_IMPLEMENT NSSCertificate * | |
372 NSSCryptoContext_FindBestCertificateByEmail ( | |
373 NSSCryptoContext *cc, | |
374 NSSASCII7 *email, | |
375 NSSTime *timeOpt, | |
376 NSSUsage *usage, | |
377 NSSPolicies *policiesOpt | |
378 ) | |
379 { | |
380 NSSCertificate **certs; | |
381 NSSCertificate *rvCert = NULL; | |
382 | |
383 PORT_Assert(cc->certStore); | |
384 if (!cc->certStore) { | |
385 return NULL; | |
386 } | |
387 certs = nssCertificateStore_FindCertificatesByEmail(cc->certStore, | |
388 email, | |
389 NULL, 0, NULL); | |
390 if (certs) { | |
391 rvCert = nssCertificateArray_FindBestCertificate(certs, | |
392 timeOpt, | |
393 usage, | |
394 policiesOpt); | |
395 nssCertificateArray_Destroy(certs); | |
396 } | |
397 return rvCert; | |
398 } | |
399 | |
400 NSS_IMPLEMENT NSSCertificate ** | |
401 NSSCryptoContext_FindCertificatesByEmail ( | |
402 NSSCryptoContext *cc, | |
403 NSSASCII7 *email, | |
404 NSSCertificate *rvOpt[], | |
405 PRUint32 maximumOpt, /* 0 for no max */ | |
406 NSSArena *arenaOpt | |
407 ) | |
408 { | |
409 NSSCertificate **rvCerts; | |
410 PORT_Assert(cc->certStore); | |
411 if (!cc->certStore) { | |
412 return NULL; | |
413 } | |
414 rvCerts = nssCertificateStore_FindCertificatesByEmail(cc->certStore, | |
415 email, | |
416 rvOpt, | |
417 maximumOpt, | |
418 arenaOpt); | |
419 return rvCerts; | |
420 } | |
421 | |
422 NSS_IMPLEMENT NSSCertificate * | |
423 NSSCryptoContext_FindCertificateByOCSPHash ( | |
424 NSSCryptoContext *cc, | |
425 NSSItem *hash | |
426 ) | |
427 { | |
428 nss_SetError(NSS_ERROR_NOT_FOUND); | |
429 return NULL; | |
430 } | |
431 | |
432 NSS_IMPLEMENT NSSCertificate * | |
433 NSSCryptoContext_FindBestUserCertificate ( | |
434 NSSCryptoContext *cc, | |
435 NSSTime *timeOpt, | |
436 NSSUsage *usage, | |
437 NSSPolicies *policiesOpt | |
438 ) | |
439 { | |
440 nss_SetError(NSS_ERROR_NOT_FOUND); | |
441 return NULL; | |
442 } | |
443 | |
444 NSS_IMPLEMENT NSSCertificate ** | |
445 NSSCryptoContext_FindUserCertificates ( | |
446 NSSCryptoContext *cc, | |
447 NSSTime *timeOpt, | |
448 NSSUsage *usageOpt, | |
449 NSSPolicies *policiesOpt, | |
450 NSSCertificate **rvOpt, | |
451 PRUint32 rvLimit, /* zero for no limit */ | |
452 NSSArena *arenaOpt | |
453 ) | |
454 { | |
455 nss_SetError(NSS_ERROR_NOT_FOUND); | |
456 return NULL; | |
457 } | |
458 | |
459 NSS_IMPLEMENT NSSCertificate * | |
460 NSSCryptoContext_FindBestUserCertificateForSSLClientAuth ( | |
461 NSSCryptoContext *cc, | |
462 NSSUTF8 *sslHostOpt, | |
463 NSSDER *rootCAsOpt[], /* null pointer for none */ | |
464 PRUint32 rootCAsMaxOpt, /* zero means list is null-terminated */ | |
465 NSSAlgorithmAndParameters *apOpt, | |
466 NSSPolicies *policiesOpt | |
467 ) | |
468 { | |
469 nss_SetError(NSS_ERROR_NOT_FOUND); | |
470 return NULL; | |
471 } | |
472 | |
473 NSS_IMPLEMENT NSSCertificate ** | |
474 NSSCryptoContext_FindUserCertificatesForSSLClientAuth ( | |
475 NSSCryptoContext *cc, | |
476 NSSUTF8 *sslHostOpt, | |
477 NSSDER *rootCAsOpt[], /* null pointer for none */ | |
478 PRUint32 rootCAsMaxOpt, /* zero means list is null-terminated */ | |
479 NSSAlgorithmAndParameters *apOpt, | |
480 NSSPolicies *policiesOpt, | |
481 NSSCertificate **rvOpt, | |
482 PRUint32 rvLimit, /* zero for no limit */ | |
483 NSSArena *arenaOpt | |
484 ) | |
485 { | |
486 nss_SetError(NSS_ERROR_NOT_FOUND); | |
487 return NULL; | |
488 } | |
489 | |
490 NSS_IMPLEMENT NSSCertificate * | |
491 NSSCryptoContext_FindBestUserCertificateForEmailSigning ( | |
492 NSSCryptoContext *cc, | |
493 NSSASCII7 *signerOpt, | |
494 NSSASCII7 *recipientOpt, | |
495 /* anything more here? */ | |
496 NSSAlgorithmAndParameters *apOpt, | |
497 NSSPolicies *policiesOpt | |
498 ) | |
499 { | |
500 nss_SetError(NSS_ERROR_NOT_FOUND); | |
501 return NULL; | |
502 } | |
503 | |
504 NSS_IMPLEMENT NSSCertificate * | |
505 NSSCryptoContext_FindUserCertificatesForEmailSigning ( | |
506 NSSCryptoContext *cc, | |
507 NSSASCII7 *signerOpt, /* fgmr or a more general name? */ | |
508 NSSASCII7 *recipientOpt, | |
509 /* anything more here? */ | |
510 NSSAlgorithmAndParameters *apOpt, | |
511 NSSPolicies *policiesOpt, | |
512 NSSCertificate **rvOpt, | |
513 PRUint32 rvLimit, /* zero for no limit */ | |
514 NSSArena *arenaOpt | |
515 ) | |
516 { | |
517 nss_SetError(NSS_ERROR_NOT_FOUND); | |
518 return NULL; | |
519 } | |
520 | |
521 NSS_IMPLEMENT NSSTrust * | |
522 nssCryptoContext_FindTrustForCertificate ( | |
523 NSSCryptoContext *cc, | |
524 NSSCertificate *cert | |
525 ) | |
526 { | |
527 PORT_Assert(cc->certStore); | |
528 if (!cc->certStore) { | |
529 return NULL; | |
530 } | |
531 return nssCertificateStore_FindTrustForCertificate(cc->certStore, cert); | |
532 } | |
533 | |
534 NSS_IMPLEMENT nssSMIMEProfile * | |
535 nssCryptoContext_FindSMIMEProfileForCertificate ( | |
536 NSSCryptoContext *cc, | |
537 NSSCertificate *cert | |
538 ) | |
539 { | |
540 PORT_Assert(cc->certStore); | |
541 if (!cc->certStore) { | |
542 return NULL; | |
543 } | |
544 return nssCertificateStore_FindSMIMEProfileForCertificate(cc->certStore, | |
545 cert); | |
546 } | |
547 | |
548 NSS_IMPLEMENT PRStatus | |
549 NSSCryptoContext_GenerateKeyPair ( | |
550 NSSCryptoContext *cc, | |
551 NSSAlgorithmAndParameters *ap, | |
552 NSSPrivateKey **pvkOpt, | |
553 NSSPublicKey **pbkOpt, | |
554 PRBool privateKeyIsSensitive, | |
555 NSSToken *destination, | |
556 NSSCallback *uhhOpt | |
557 ) | |
558 { | |
559 nss_SetError(NSS_ERROR_NOT_FOUND); | |
560 return PR_FAILURE; | |
561 } | |
562 | |
563 NSS_IMPLEMENT NSSSymmetricKey * | |
564 NSSCryptoContext_GenerateSymmetricKey ( | |
565 NSSCryptoContext *cc, | |
566 NSSAlgorithmAndParameters *ap, | |
567 PRUint32 keysize, | |
568 NSSToken *destination, | |
569 NSSCallback *uhhOpt | |
570 ) | |
571 { | |
572 nss_SetError(NSS_ERROR_NOT_FOUND); | |
573 return NULL; | |
574 } | |
575 | |
576 NSS_IMPLEMENT NSSSymmetricKey * | |
577 NSSCryptoContext_GenerateSymmetricKeyFromPassword ( | |
578 NSSCryptoContext *cc, | |
579 NSSAlgorithmAndParameters *ap, | |
580 NSSUTF8 *passwordOpt, /* if null, prompt */ | |
581 NSSToken *destinationOpt, | |
582 NSSCallback *uhhOpt | |
583 ) | |
584 { | |
585 nss_SetError(NSS_ERROR_NOT_FOUND); | |
586 return NULL; | |
587 } | |
588 | |
589 NSS_IMPLEMENT NSSSymmetricKey * | |
590 NSSCryptoContext_FindSymmetricKeyByAlgorithmAndKeyID ( | |
591 NSSCryptoContext *cc, | |
592 NSSOID *algorithm, | |
593 NSSItem *keyID, | |
594 NSSCallback *uhhOpt | |
595 ) | |
596 { | |
597 nss_SetError(NSS_ERROR_NOT_FOUND); | |
598 return NULL; | |
599 } | |
600 | |
601 struct token_session_str { | |
602 NSSToken *token; | |
603 nssSession *session; | |
604 }; | |
605 | |
606 NSS_IMPLEMENT NSSItem * | |
607 NSSCryptoContext_Decrypt ( | |
608 NSSCryptoContext *cc, | |
609 NSSAlgorithmAndParameters *apOpt, | |
610 NSSItem *encryptedData, | |
611 NSSCallback *uhhOpt, | |
612 NSSItem *rvOpt, | |
613 NSSArena *arenaOpt | |
614 ) | |
615 { | |
616 nss_SetError(NSS_ERROR_NOT_FOUND); | |
617 return NULL; | |
618 } | |
619 | |
620 NSS_IMPLEMENT PRStatus | |
621 NSSCryptoContext_BeginDecrypt ( | |
622 NSSCryptoContext *cc, | |
623 NSSAlgorithmAndParameters *apOpt, | |
624 NSSCallback *uhhOpt | |
625 ) | |
626 { | |
627 nss_SetError(NSS_ERROR_NOT_FOUND); | |
628 return PR_FAILURE; | |
629 } | |
630 | |
631 NSS_IMPLEMENT NSSItem * | |
632 NSSCryptoContext_ContinueDecrypt ( | |
633 NSSCryptoContext *cc, | |
634 NSSItem *data, | |
635 NSSItem *rvOpt, | |
636 NSSArena *arenaOpt | |
637 ) | |
638 { | |
639 nss_SetError(NSS_ERROR_NOT_FOUND); | |
640 return NULL; | |
641 } | |
642 | |
643 NSS_IMPLEMENT NSSItem * | |
644 NSSCryptoContext_FinishDecrypt ( | |
645 NSSCryptoContext *cc, | |
646 NSSItem *rvOpt, | |
647 NSSArena *arenaOpt | |
648 ) | |
649 { | |
650 nss_SetError(NSS_ERROR_NOT_FOUND); | |
651 return NULL; | |
652 } | |
653 | |
654 NSS_IMPLEMENT NSSItem * | |
655 NSSCryptoContext_Sign ( | |
656 NSSCryptoContext *cc, | |
657 NSSAlgorithmAndParameters *apOpt, | |
658 NSSItem *data, | |
659 NSSCallback *uhhOpt, | |
660 NSSItem *rvOpt, | |
661 NSSArena *arenaOpt | |
662 ) | |
663 { | |
664 nss_SetError(NSS_ERROR_NOT_FOUND); | |
665 return NULL; | |
666 } | |
667 | |
668 NSS_IMPLEMENT PRStatus | |
669 NSSCryptoContext_BeginSign ( | |
670 NSSCryptoContext *cc, | |
671 NSSAlgorithmAndParameters *apOpt, | |
672 NSSCallback *uhhOpt | |
673 ) | |
674 { | |
675 nss_SetError(NSS_ERROR_NOT_FOUND); | |
676 return PR_FAILURE; | |
677 } | |
678 | |
679 NSS_IMPLEMENT PRStatus | |
680 NSSCryptoContext_ContinueSign ( | |
681 NSSCryptoContext *cc, | |
682 NSSItem *data | |
683 ) | |
684 { | |
685 nss_SetError(NSS_ERROR_NOT_FOUND); | |
686 return PR_FAILURE; | |
687 } | |
688 | |
689 NSS_IMPLEMENT NSSItem * | |
690 NSSCryptoContext_FinishSign ( | |
691 NSSCryptoContext *cc, | |
692 NSSItem *rvOpt, | |
693 NSSArena *arenaOpt | |
694 ) | |
695 { | |
696 nss_SetError(NSS_ERROR_NOT_FOUND); | |
697 return NULL; | |
698 } | |
699 | |
700 NSS_IMPLEMENT NSSItem * | |
701 NSSCryptoContext_SignRecover ( | |
702 NSSCryptoContext *cc, | |
703 NSSAlgorithmAndParameters *apOpt, | |
704 NSSItem *data, | |
705 NSSCallback *uhhOpt, | |
706 NSSItem *rvOpt, | |
707 NSSArena *arenaOpt | |
708 ) | |
709 { | |
710 nss_SetError(NSS_ERROR_NOT_FOUND); | |
711 return NULL; | |
712 } | |
713 | |
714 NSS_IMPLEMENT PRStatus | |
715 NSSCryptoContext_BeginSignRecover ( | |
716 NSSCryptoContext *cc, | |
717 NSSAlgorithmAndParameters *apOpt, | |
718 NSSCallback *uhhOpt | |
719 ) | |
720 { | |
721 nss_SetError(NSS_ERROR_NOT_FOUND); | |
722 return PR_FAILURE; | |
723 } | |
724 | |
725 NSS_IMPLEMENT NSSItem * | |
726 NSSCryptoContext_ContinueSignRecover ( | |
727 NSSCryptoContext *cc, | |
728 NSSItem *data, | |
729 NSSItem *rvOpt, | |
730 NSSArena *arenaOpt | |
731 ) | |
732 { | |
733 nss_SetError(NSS_ERROR_NOT_FOUND); | |
734 return NULL; | |
735 } | |
736 | |
737 NSS_IMPLEMENT NSSItem * | |
738 NSSCryptoContext_FinishSignRecover ( | |
739 NSSCryptoContext *cc, | |
740 NSSItem *rvOpt, | |
741 NSSArena *arenaOpt | |
742 ) | |
743 { | |
744 nss_SetError(NSS_ERROR_NOT_FOUND); | |
745 return NULL; | |
746 } | |
747 | |
748 NSS_IMPLEMENT NSSSymmetricKey * | |
749 NSSCryptoContext_UnwrapSymmetricKey ( | |
750 NSSCryptoContext *cc, | |
751 NSSAlgorithmAndParameters *apOpt, | |
752 NSSItem *wrappedKey, | |
753 NSSCallback *uhhOpt | |
754 ) | |
755 { | |
756 nss_SetError(NSS_ERROR_NOT_FOUND); | |
757 return NULL; | |
758 } | |
759 | |
760 NSS_IMPLEMENT NSSSymmetricKey * | |
761 NSSCryptoContext_DeriveSymmetricKey ( | |
762 NSSCryptoContext *cc, | |
763 NSSPublicKey *bk, | |
764 NSSAlgorithmAndParameters *apOpt, | |
765 NSSOID *target, | |
766 PRUint32 keySizeOpt, /* zero for best allowed */ | |
767 NSSOperations operations, | |
768 NSSCallback *uhhOpt | |
769 ) | |
770 { | |
771 nss_SetError(NSS_ERROR_NOT_FOUND); | |
772 return NULL; | |
773 } | |
774 | |
775 NSS_IMPLEMENT NSSItem * | |
776 NSSCryptoContext_Encrypt ( | |
777 NSSCryptoContext *cc, | |
778 NSSAlgorithmAndParameters *apOpt, | |
779 NSSItem *data, | |
780 NSSCallback *uhhOpt, | |
781 NSSItem *rvOpt, | |
782 NSSArena *arenaOpt | |
783 ) | |
784 { | |
785 nss_SetError(NSS_ERROR_NOT_FOUND); | |
786 return NULL; | |
787 } | |
788 | |
789 NSS_IMPLEMENT PRStatus | |
790 NSSCryptoContext_BeginEncrypt ( | |
791 NSSCryptoContext *cc, | |
792 NSSAlgorithmAndParameters *apOpt, | |
793 NSSCallback *uhhOpt | |
794 ) | |
795 { | |
796 nss_SetError(NSS_ERROR_NOT_FOUND); | |
797 return PR_FAILURE; | |
798 } | |
799 | |
800 NSS_IMPLEMENT NSSItem * | |
801 NSSCryptoContext_ContinueEncrypt ( | |
802 NSSCryptoContext *cc, | |
803 NSSItem *data, | |
804 NSSItem *rvOpt, | |
805 NSSArena *arenaOpt | |
806 ) | |
807 { | |
808 nss_SetError(NSS_ERROR_NOT_FOUND); | |
809 return NULL; | |
810 } | |
811 | |
812 NSS_IMPLEMENT NSSItem * | |
813 NSSCryptoContext_FinishEncrypt ( | |
814 NSSCryptoContext *cc, | |
815 NSSItem *rvOpt, | |
816 NSSArena *arenaOpt | |
817 ) | |
818 { | |
819 nss_SetError(NSS_ERROR_NOT_FOUND); | |
820 return NULL; | |
821 } | |
822 | |
823 NSS_IMPLEMENT PRStatus | |
824 NSSCryptoContext_Verify ( | |
825 NSSCryptoContext *cc, | |
826 NSSAlgorithmAndParameters *apOpt, | |
827 NSSItem *data, | |
828 NSSItem *signature, | |
829 NSSCallback *uhhOpt | |
830 ) | |
831 { | |
832 nss_SetError(NSS_ERROR_NOT_FOUND); | |
833 return PR_FAILURE; | |
834 } | |
835 | |
836 NSS_IMPLEMENT PRStatus | |
837 NSSCryptoContext_BeginVerify ( | |
838 NSSCryptoContext *cc, | |
839 NSSAlgorithmAndParameters *apOpt, | |
840 NSSItem *signature, | |
841 NSSCallback *uhhOpt | |
842 ) | |
843 { | |
844 nss_SetError(NSS_ERROR_NOT_FOUND); | |
845 return PR_FAILURE; | |
846 } | |
847 | |
848 NSS_IMPLEMENT PRStatus | |
849 NSSCryptoContext_ContinueVerify ( | |
850 NSSCryptoContext *cc, | |
851 NSSItem *data | |
852 ) | |
853 { | |
854 nss_SetError(NSS_ERROR_NOT_FOUND); | |
855 return PR_FAILURE; | |
856 } | |
857 | |
858 NSS_IMPLEMENT PRStatus | |
859 NSSCryptoContext_FinishVerify ( | |
860 NSSCryptoContext *cc | |
861 ) | |
862 { | |
863 nss_SetError(NSS_ERROR_NOT_FOUND); | |
864 return PR_FAILURE; | |
865 } | |
866 | |
867 NSS_IMPLEMENT NSSItem * | |
868 NSSCryptoContext_VerifyRecover ( | |
869 NSSCryptoContext *cc, | |
870 NSSAlgorithmAndParameters *apOpt, | |
871 NSSItem *signature, | |
872 NSSCallback *uhhOpt, | |
873 NSSItem *rvOpt, | |
874 NSSArena *arenaOpt | |
875 ) | |
876 { | |
877 nss_SetError(NSS_ERROR_NOT_FOUND); | |
878 return NULL; | |
879 } | |
880 | |
881 NSS_IMPLEMENT PRStatus | |
882 NSSCryptoContext_BeginVerifyRecover ( | |
883 NSSCryptoContext *cc, | |
884 NSSAlgorithmAndParameters *apOpt, | |
885 NSSCallback *uhhOpt | |
886 ) | |
887 { | |
888 nss_SetError(NSS_ERROR_NOT_FOUND); | |
889 return PR_FAILURE; | |
890 } | |
891 | |
892 NSS_IMPLEMENT NSSItem * | |
893 NSSCryptoContext_ContinueVerifyRecover ( | |
894 NSSCryptoContext *cc, | |
895 NSSItem *data, | |
896 NSSItem *rvOpt, | |
897 NSSArena *arenaOpt | |
898 ) | |
899 { | |
900 nss_SetError(NSS_ERROR_NOT_FOUND); | |
901 return NULL; | |
902 } | |
903 | |
904 NSS_IMPLEMENT NSSItem * | |
905 NSSCryptoContext_FinishVerifyRecover ( | |
906 NSSCryptoContext *cc, | |
907 NSSItem *rvOpt, | |
908 NSSArena *arenaOpt | |
909 ) | |
910 { | |
911 nss_SetError(NSS_ERROR_NOT_FOUND); | |
912 return NULL; | |
913 } | |
914 | |
915 NSS_IMPLEMENT NSSItem * | |
916 NSSCryptoContext_WrapSymmetricKey ( | |
917 NSSCryptoContext *cc, | |
918 NSSAlgorithmAndParameters *apOpt, | |
919 NSSSymmetricKey *keyToWrap, | |
920 NSSCallback *uhhOpt, | |
921 NSSItem *rvOpt, | |
922 NSSArena *arenaOpt | |
923 ) | |
924 { | |
925 nss_SetError(NSS_ERROR_NOT_FOUND); | |
926 return NULL; | |
927 } | |
928 | |
929 NSS_IMPLEMENT NSSItem * | |
930 NSSCryptoContext_Digest ( | |
931 NSSCryptoContext *cc, | |
932 NSSAlgorithmAndParameters *apOpt, | |
933 NSSItem *data, | |
934 NSSCallback *uhhOpt, | |
935 NSSItem *rvOpt, | |
936 NSSArena *arenaOpt | |
937 ) | |
938 { | |
939 return nssToken_Digest(cc->token, cc->session, apOpt, | |
940 data, rvOpt, arenaOpt); | |
941 } | |
942 | |
943 NSS_IMPLEMENT PRStatus | |
944 NSSCryptoContext_BeginDigest ( | |
945 NSSCryptoContext *cc, | |
946 NSSAlgorithmAndParameters *apOpt, | |
947 NSSCallback *uhhOpt | |
948 ) | |
949 { | |
950 return nssToken_BeginDigest(cc->token, cc->session, apOpt); | |
951 } | |
952 | |
953 NSS_IMPLEMENT PRStatus | |
954 NSSCryptoContext_ContinueDigest ( | |
955 NSSCryptoContext *cc, | |
956 NSSAlgorithmAndParameters *apOpt, | |
957 NSSItem *item | |
958 ) | |
959 { | |
960 /* | |
961 NSSAlgorithmAndParameters *ap; | |
962 ap = (apOpt) ? apOpt : cc->ap; | |
963 */ | |
964 /* why apOpt? can't change it at this point... */ | |
965 return nssToken_ContinueDigest(cc->token, cc->session, item); | |
966 } | |
967 | |
968 NSS_IMPLEMENT NSSItem * | |
969 NSSCryptoContext_FinishDigest ( | |
970 NSSCryptoContext *cc, | |
971 NSSItem *rvOpt, | |
972 NSSArena *arenaOpt | |
973 ) | |
974 { | |
975 return nssToken_FinishDigest(cc->token, cc->session, rvOpt, arenaOpt); | |
976 } | |
977 | |
978 NSS_IMPLEMENT NSSCryptoContext * | |
979 NSSCryptoContext_Clone ( | |
980 NSSCryptoContext *cc | |
981 ) | |
982 { | |
983 nss_SetError(NSS_ERROR_NOT_FOUND); | |
984 return NULL; | |
985 } | |
986 | |
OLD | NEW |