| OLD | NEW |
| 1 /* This Source Code Form is subject to the terms of the Mozilla Public | 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 | 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/. */ | 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| 4 /* | 4 /* |
| 5 * Internal data structures and functions used by pkcs11.c | 5 * Internal data structures and functions used by pkcs11.c |
| 6 */ | 6 */ |
| 7 #ifndef _PKCS11I_H_ | 7 #ifndef _PKCS11I_H_ |
| 8 #define _PKCS11I_H_ 1 | 8 #define _PKCS11I_H_ 1 |
| 9 | 9 |
| 10 #include "nssilock.h" | 10 #include "nssilock.h" |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 typedef struct SFTKObjectListElementStr SFTKObjectListElement; | 94 typedef struct SFTKObjectListElementStr SFTKObjectListElement; |
| 95 typedef struct SFTKObjectStr SFTKObject; | 95 typedef struct SFTKObjectStr SFTKObject; |
| 96 typedef struct SFTKSessionObjectStr SFTKSessionObject; | 96 typedef struct SFTKSessionObjectStr SFTKSessionObject; |
| 97 typedef struct SFTKTokenObjectStr SFTKTokenObject; | 97 typedef struct SFTKTokenObjectStr SFTKTokenObject; |
| 98 typedef struct SFTKSessionStr SFTKSession; | 98 typedef struct SFTKSessionStr SFTKSession; |
| 99 typedef struct SFTKSlotStr SFTKSlot; | 99 typedef struct SFTKSlotStr SFTKSlot; |
| 100 typedef struct SFTKSessionContextStr SFTKSessionContext; | 100 typedef struct SFTKSessionContextStr SFTKSessionContext; |
| 101 typedef struct SFTKSearchResultsStr SFTKSearchResults; | 101 typedef struct SFTKSearchResultsStr SFTKSearchResults; |
| 102 typedef struct SFTKHashVerifyInfoStr SFTKHashVerifyInfo; | 102 typedef struct SFTKHashVerifyInfoStr SFTKHashVerifyInfo; |
| 103 typedef struct SFTKHashSignInfoStr SFTKHashSignInfo; | 103 typedef struct SFTKHashSignInfoStr SFTKHashSignInfo; |
| 104 typedef struct SFTKOAEPEncryptInfoStr SFTKOAEPEncryptInfo; |
| 105 typedef struct SFTKOAEPDecryptInfoStr SFTKOAEPDecryptInfo; |
| 104 typedef struct SFTKSSLMACInfoStr SFTKSSLMACInfo; | 106 typedef struct SFTKSSLMACInfoStr SFTKSSLMACInfo; |
| 105 typedef struct SFTKItemTemplateStr SFTKItemTemplate; | 107 typedef struct SFTKItemTemplateStr SFTKItemTemplate; |
| 106 | 108 |
| 107 /* define function pointer typdefs for pointer tables */ | 109 /* define function pointer typdefs for pointer tables */ |
| 108 typedef void (*SFTKDestroy)(void *, PRBool); | 110 typedef void (*SFTKDestroy)(void *, PRBool); |
| 109 typedef void (*SFTKBegin)(void *); | 111 typedef void (*SFTKBegin)(void *); |
| 110 typedef SECStatus (*SFTKCipher)(void *,void *,unsigned int *,unsigned int, | 112 typedef SECStatus (*SFTKCipher)(void *,void *,unsigned int *,unsigned int, |
| 111 void *, unsigned int); | 113 void *, unsigned int); |
| 112 typedef SECStatus (*SFTKVerify)(void *,void *,unsigned int,void *,unsigned int); | 114 typedef SECStatus (*SFTKVerify)(void *,void *,unsigned int,void *,unsigned int); |
| 113 typedef void (*SFTKHash)(void *,void *,unsigned int); | 115 typedef void (*SFTKHash)(void *,void *,unsigned int); |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 void *params; | 367 void *params; |
| 366 NSSLOWKEYPublicKey *key; | 368 NSSLOWKEYPublicKey *key; |
| 367 }; | 369 }; |
| 368 | 370 |
| 369 struct SFTKHashSignInfoStr { | 371 struct SFTKHashSignInfoStr { |
| 370 SECOidTag hashOid; | 372 SECOidTag hashOid; |
| 371 void *params; | 373 void *params; |
| 372 NSSLOWKEYPrivateKey *key; | 374 NSSLOWKEYPrivateKey *key; |
| 373 }; | 375 }; |
| 374 | 376 |
| 377 /** |
| 378 * Contexts for RSA-OAEP |
| 379 */ |
| 380 struct SFTKOAEPEncryptInfoStr { |
| 381 CK_RSA_PKCS_OAEP_PARAMS *params; |
| 382 NSSLOWKEYPublicKey *key; |
| 383 }; |
| 384 |
| 385 struct SFTKOAEPDecryptInfoStr { |
| 386 CK_RSA_PKCS_OAEP_PARAMS *params; |
| 387 NSSLOWKEYPrivateKey *key; |
| 388 }; |
| 389 |
| 375 /* context for the Final SSLMAC message */ | 390 /* context for the Final SSLMAC message */ |
| 376 struct SFTKSSLMACInfoStr { | 391 struct SFTKSSLMACInfoStr { |
| 377 void *hashContext; | 392 void *hashContext; |
| 378 SFTKBegin begin; | 393 SFTKBegin begin; |
| 379 SFTKHash update; | 394 SFTKHash update; |
| 380 SFTKEnd end; | 395 SFTKEnd end; |
| 381 CK_ULONG macSize; | 396 CK_ULONG macSize; |
| 382 int padSize; | 397 int padSize; |
| 383 unsigned char key[MAX_KEY_LEN]; | 398 unsigned char key[MAX_KEY_LEN]; |
| 384 unsigned int keySize; | 399 unsigned int keySize; |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 686 SFTKObject * key); | 701 SFTKObject * key); |
| 687 extern | 702 extern |
| 688 CK_RV jpake_Round2(HASH_HashType hashType, | 703 CK_RV jpake_Round2(HASH_HashType hashType, |
| 689 CK_NSS_JPAKERound2Params * params, | 704 CK_NSS_JPAKERound2Params * params, |
| 690 SFTKObject * sourceKey, SFTKObject * key); | 705 SFTKObject * sourceKey, SFTKObject * key); |
| 691 extern | 706 extern |
| 692 CK_RV jpake_Final(HASH_HashType hashType, | 707 CK_RV jpake_Final(HASH_HashType hashType, |
| 693 const CK_NSS_JPAKEFinalParams * params, | 708 const CK_NSS_JPAKEFinalParams * params, |
| 694 SFTKObject * sourceKey, SFTKObject * key); | 709 SFTKObject * sourceKey, SFTKObject * key); |
| 695 | 710 |
| 711 /* Constant time MAC functions (hmacct.c) */ |
| 712 |
| 713 struct sftk_MACConstantTimeCtxStr { |
| 714 const SECHashObject *hash; |
| 715 unsigned char mac[64]; |
| 716 unsigned char secret[64]; |
| 717 unsigned int headerLength; |
| 718 unsigned int secretLength; |
| 719 unsigned int totalLength; |
| 720 unsigned char header[75]; |
| 721 }; |
| 722 typedef struct sftk_MACConstantTimeCtxStr sftk_MACConstantTimeCtx; |
| 723 sftk_MACConstantTimeCtx* sftk_HMACConstantTime_New( |
| 724 CK_MECHANISM_PTR mech, SFTKObject *key); |
| 725 sftk_MACConstantTimeCtx* sftk_SSLv3MACConstantTime_New( |
| 726 CK_MECHANISM_PTR mech, SFTKObject *key); |
| 727 void sftk_HMACConstantTime_Update(void *pctx, void *data, unsigned int len); |
| 728 void sftk_SSLv3MACConstantTime_Update(void *pctx, void *data, unsigned int len); |
| 729 void sftk_MACConstantTime_EndHash( |
| 730 void *pctx, void *out, unsigned int *outLength, unsigned int maxLength); |
| 731 void sftk_MACConstantTime_DestroyContext(void *pctx, PRBool); |
| 732 |
| 696 /**************************************** | 733 /**************************************** |
| 697 * implement TLS Pseudo Random Function (PRF) | 734 * implement TLS Pseudo Random Function (PRF) |
| 698 */ | 735 */ |
| 699 | 736 |
| 700 extern CK_RV | 737 extern CK_RV |
| 701 sftk_TLSPRFInit(SFTKSessionContext *context, | 738 sftk_TLSPRFInit(SFTKSessionContext *context, |
| 702 SFTKObject * key, | 739 SFTKObject * key, |
| 703 CK_KEY_TYPE key_type); | 740 CK_KEY_TYPE key_type); |
| 704 | 741 |
| 705 SEC_END_PROTOS | 742 SEC_END_PROTOS |
| 706 | 743 |
| 707 #endif /* _PKCS11I_H_ */ | 744 #endif /* _PKCS11I_H_ */ |
| OLD | NEW |