Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Side by Side Diff: nss/lib/softoken/softoken.h

Issue 105893015: Update third_party/nss to NSS 3.15.4. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/nss/
Patch Set: Remove SVN property on new file nss/lib/freebl/rsapkcs.c Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « nss/lib/softoken/softkver.h ('k') | nss/lib/softoken/softoknt.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * softoken.h - private data structures and prototypes for the softoken lib 2 * softoken.h - private data structures and prototypes for the softoken lib
3 * 3 *
4 * This Source Code Form is subject to the terms of the Mozilla Public 4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 7
8 #ifndef _SOFTOKEN_H_ 8 #ifndef _SOFTOKEN_H_
9 #define _SOFTOKEN_H_ 9 #define _SOFTOKEN_H_
10 10
11 #include "blapi.h" 11 #include "blapi.h"
12 #include "lowkeyti.h" 12 #include "lowkeyti.h"
13 #include "softoknt.h" 13 #include "softoknt.h"
14 #include "secoidt.h" 14 #include "secoidt.h"
15 15
16 #include "pkcs11t.h" 16 #include "pkcs11t.h"
17 17
18 SEC_BEGIN_PROTOS 18 SEC_BEGIN_PROTOS
19 19
20 /* 20 /*
21 ** RSA encryption/decryption. When encrypting/decrypting the output 21 * Convenience wrapper for doing a single PKCS#1 v1.5 RSA operations where the
22 ** buffer must be at least the size of the public key modulus. 22 * encoded digest info is computed internally, rather than by the caller.
23 */ 23 *
24 * The HashSign variants expect as input the value of H, the computed hash
25 * from RFC 3447, Section 9.2, Step 1, and will compute the DER-encoded
26 * DigestInfo structure internally prior to signing/verifying.
27 */
28 extern SECStatus
29 RSA_HashSign(SECOidTag hashOid, NSSLOWKEYPrivateKey *key,
30 unsigned char *sig, unsigned int *sigLen, unsigned int maxLen,
31 const unsigned char *hash, unsigned int hashLen);
24 32
25 /* 33 extern SECStatus
26 ** Format some data into a PKCS#1 encryption block, preparing the 34 RSA_HashCheckSign(SECOidTag hashOid, NSSLOWKEYPublicKey *key,
27 ** data for RSA encryption. 35 const unsigned char *sig, unsigned int sigLen,
28 **» "result" where the formatted block is stored (memory is allocated) 36 const unsigned char *hash, unsigned int hashLen);
29 **» "modulusLen" the size of the formatted block
30 **» "blockType" what block type to use (SEC_RSABlock*)
31 **» "data" the data to format
32 */
33 extern SECStatus RSA_FormatBlock(SECItem *result,
34 » » » » unsigned int modulusLen,
35 » » » » RSA_BlockType blockType,
36 » » » » SECItem *data);
37 /*
38 ** Similar, but just returns a pointer to the allocated memory, *and*
39 ** will *only* format one block, even if we (in the future) modify
40 ** RSA_FormatBlock() to loop over multiples of modulusLen.
41 */
42 extern unsigned char *RSA_FormatOneBlock(unsigned int modulusLen,
43 » » » » » RSA_BlockType blockType,
44 » » » » » SECItem *data);
45 37
46
47
48 /*
49 * convenience wrappers for doing single RSA operations. They create the
50 * RSA context internally and take care of the formatting
51 * requirements. Blinding happens automagically within RSA_Sign and
52 * RSA_DecryptBlock.
53 */
54 extern
55 SECStatus RSA_Sign(NSSLOWKEYPrivateKey *key, unsigned char *output,
56 unsigned int *outputLen, unsigned int maxOutputLen,
57 unsigned char *input, unsigned int inputLen);
58 extern
59 SECStatus RSA_HashSign(SECOidTag hashOid,
60 NSSLOWKEYPrivateKey *key, unsigned char *sig,
61 unsigned int *sigLen, unsigned int maxLen,
62 unsigned char *hash, unsigned int hashLen);
63 extern
64 SECStatus RSA_SignPSS(CK_RSA_PKCS_PSS_PARAMS *pss_params,
65 NSSLOWKEYPrivateKey *key,
66 unsigned char *output, unsigned int *output_len,
67 unsigned int max_output_len, const unsigned char *input,
68 unsigned int input_len);
69 extern
70 SECStatus RSA_CheckSign(NSSLOWKEYPublicKey *key, unsigned char *sign,
71 unsigned int signLength, unsigned char *hash,
72 unsigned int hashLength);
73 extern
74 SECStatus RSA_HashCheckSign(SECOidTag hashOid,
75 NSSLOWKEYPublicKey *key, unsigned char *sig,
76 unsigned int sigLen, unsigned char *digest,
77 unsigned int digestLen);
78 extern
79 SECStatus RSA_CheckSignPSS(CK_RSA_PKCS_PSS_PARAMS *pss_params,
80 NSSLOWKEYPublicKey *key,
81 const unsigned char *sign, unsigned int sign_len,
82 const unsigned char *hash, unsigned int hash_len);
83 extern
84 SECStatus RSA_CheckSignRecover(NSSLOWKEYPublicKey *key, unsigned char *data,
85 unsigned int *data_len,unsigned int max_output_len,
86 unsigned char *sign, unsigned int sign_len);
87 extern
88 SECStatus RSA_EncryptBlock(NSSLOWKEYPublicKey *key, unsigned char *output,
89 unsigned int *outputLen, unsigned int maxOutputLen,
90 unsigned char *input, unsigned int inputLen);
91 extern
92 SECStatus RSA_DecryptBlock(NSSLOWKEYPrivateKey *key, unsigned char *output,
93 unsigned int *outputLen, unsigned int maxOutputLen,
94 unsigned char *input, unsigned int inputLen);
95
96 extern
97 SECStatus RSA_EncryptOAEP(CK_RSA_PKCS_OAEP_PARAMS *oaepParams,
98 NSSLOWKEYPublicKey *key,
99 unsigned char *output, unsigned int *outputLen,
100 unsigned int maxOutputLen,
101 const unsigned char *input, unsigned int inputLen);
102
103 extern
104 SECStatus RSA_DecryptOAEP(CK_RSA_PKCS_OAEP_PARAMS *oaepParams,
105 NSSLOWKEYPrivateKey *key,
106 unsigned char *output, unsigned int *outputLen,
107 unsigned int maxOutputLen,
108 const unsigned char *input, unsigned int inputLen);
109
110 /*
111 * added to make pkcs #11 happy
112 * RAW is RSA_X_509
113 */
114 extern
115 SECStatus RSA_SignRaw( NSSLOWKEYPrivateKey *key, unsigned char *output,
116 unsigned int *output_len, unsigned int maxOutputLen,
117 unsigned char *input, unsigned int input_len);
118 extern
119 SECStatus RSA_CheckSignRaw( NSSLOWKEYPublicKey *key, unsigned char *sign,
120 unsigned int sign_len, unsigned char *hash,
121 unsigned int hash_len);
122 extern
123 SECStatus RSA_CheckSignRecoverRaw( NSSLOWKEYPublicKey *key, unsigned char *data,
124 unsigned int *data_len, unsigned int max_output_len,
125 unsigned char *sign, unsigned int sign_len);
126 extern
127 SECStatus RSA_EncryptRaw( NSSLOWKEYPublicKey *key, unsigned char *output,
128 unsigned int *output_len,
129 unsigned int max_output_len,
130 unsigned char *input, unsigned int input_len);
131 extern
132 SECStatus RSA_DecryptRaw(NSSLOWKEYPrivateKey *key, unsigned char *output,
133 unsigned int *output_len,
134 unsigned int max_output_len,
135 unsigned char *input, unsigned int input_len);
136 #ifdef NSS_ENABLE_ECC 38 #ifdef NSS_ENABLE_ECC
137 /* 39 /*
138 ** pepare an ECParam structure from DEREncoded params 40 ** pepare an ECParam structure from DEREncoded params
139 */ 41 */
140 extern SECStatus EC_FillParams(PLArenaPool *arena, 42 extern SECStatus EC_FillParams(PLArenaPool *arena,
141 const SECItem *encodedParams, ECParams *params); 43 const SECItem *encodedParams, ECParams *params);
142 extern SECStatus EC_DecodeParams(const SECItem *encodedParams, 44 extern SECStatus EC_DecodeParams(const SECItem *encodedParams,
143 ECParams **ecparams); 45 ECParams **ecparams);
144 extern SECStatus EC_CopyParams(PLArenaPool *arena, ECParams *dstParams, 46 extern SECStatus EC_CopyParams(PLArenaPool *arena, ECParams *dstParams,
145 const ECParams *srcParams); 47 const ECParams *srcParams);
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 #ifndef NO_FORK_CHECK 270 #ifndef NO_FORK_CHECK
369 #define NO_FORK_CHECK 271 #define NO_FORK_CHECK
370 #endif 272 #endif
371 273
372 #endif 274 #endif
373 275
374 276
375 SEC_END_PROTOS 277 SEC_END_PROTOS
376 278
377 #endif /* _SOFTOKEN_H_ */ 279 #endif /* _SOFTOKEN_H_ */
OLDNEW
« no previous file with comments | « nss/lib/softoken/softkver.h ('k') | nss/lib/softoken/softoknt.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698