OLD | NEW |
1 /* | 1 /* |
2 * crypto.h - public data structures and prototypes for the crypto library | 2 * crypto.h - public data structures and prototypes for the crypto library |
3 * | 3 * |
4 * ***** BEGIN LICENSE BLOCK ***** | 4 * ***** BEGIN LICENSE BLOCK ***** |
5 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 5 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
6 * | 6 * |
7 * The contents of this file are subject to the Mozilla Public License Version | 7 * The contents of this file are subject to the Mozilla Public License Version |
8 * 1.1 (the "License"); you may not use this file except in compliance with | 8 * 1.1 (the "License"); you may not use this file except in compliance with |
9 * the License. You may obtain a copy of the License at | 9 * the License. You may obtain a copy of the License at |
10 * http://www.mozilla.org/MPL/ | 10 * http://www.mozilla.org/MPL/ |
(...skipping 19 matching lines...) Expand all Loading... |
30 * in which case the provisions of the GPL or the LGPL are applicable instead | 30 * in which case the provisions of the GPL or the LGPL are applicable instead |
31 * of those above. If you wish to allow use of your version of this file only | 31 * of those above. If you wish to allow use of your version of this file only |
32 * under the terms of either the GPL or the LGPL, and not to allow others to | 32 * under the terms of either the GPL or the LGPL, and not to allow others to |
33 * use your version of this file under the terms of the MPL, indicate your | 33 * use your version of this file under the terms of the MPL, indicate your |
34 * decision by deleting the provisions above and replace them with the notice | 34 * decision by deleting the provisions above and replace them with the notice |
35 * and other provisions required by the GPL or the LGPL. If you do not delete | 35 * and other provisions required by the GPL or the LGPL. If you do not delete |
36 * the provisions above, a recipient may use your version of this file under | 36 * the provisions above, a recipient may use your version of this file under |
37 * the terms of any one of the MPL, the GPL or the LGPL. | 37 * the terms of any one of the MPL, the GPL or the LGPL. |
38 * | 38 * |
39 * ***** END LICENSE BLOCK ***** */ | 39 * ***** END LICENSE BLOCK ***** */ |
40 /* $Id: cryptohi.h,v 1.13 2009/09/23 22:51:56 wtc%google.com Exp $ */ | 40 /* $Id: cryptohi.h,v 1.14 2010/02/10 00:49:43 wtc%google.com Exp $ */ |
41 | 41 |
42 #ifndef _CRYPTOHI_H_ | 42 #ifndef _CRYPTOHI_H_ |
43 #define _CRYPTOHI_H_ | 43 #define _CRYPTOHI_H_ |
44 | 44 |
45 #include "blapit.h" | 45 #include "blapit.h" |
46 | 46 |
47 #include "seccomon.h" | 47 #include "seccomon.h" |
48 #include "secoidt.h" | 48 #include "secoidt.h" |
49 #include "secdert.h" | 49 #include "secdert.h" |
50 #include "cryptoht.h" | 50 #include "cryptoht.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 /* | 130 /* |
131 ** Sign a single block of data using private key encryption and given | 131 ** Sign a single block of data using private key encryption and given |
132 ** signature/hash algorithm. | 132 ** signature/hash algorithm. |
133 ** "result" the final signature data (memory is allocated) | 133 ** "result" the final signature data (memory is allocated) |
134 ** "buf" the input data to sign | 134 ** "buf" the input data to sign |
135 ** "len" the amount of data to sign | 135 ** "len" the amount of data to sign |
136 ** "pk" the private key to encrypt with | 136 ** "pk" the private key to encrypt with |
137 ** "algid" the signature/hash algorithm to sign with | 137 ** "algid" the signature/hash algorithm to sign with |
138 ** (must be compatible with the key type). | 138 ** (must be compatible with the key type). |
139 */ | 139 */ |
140 extern SECStatus SEC_SignData(SECItem *result, unsigned char *buf, int len, | 140 extern SECStatus SEC_SignData(SECItem *result, |
| 141 » » » const unsigned char *buf, int len, |
141 SECKEYPrivateKey *pk, SECOidTag algid); | 142 SECKEYPrivateKey *pk, SECOidTag algid); |
142 | 143 |
143 /* | 144 /* |
144 ** Sign a pre-digested block of data using private key encryption, encoding | 145 ** Sign a pre-digested block of data using private key encryption, encoding |
145 ** The given signature/hash algorithm. | 146 ** The given signature/hash algorithm. |
146 ** "result" the final signature data (memory is allocated) | 147 ** "result" the final signature data (memory is allocated) |
147 ** "digest" the digest to sign | 148 ** "digest" the digest to sign |
148 ** "pk" the private key to encrypt with | 149 ** "pk" the private key to encrypt with |
149 ** "algtag" The algorithm tag to encode (need for RSA only) | 150 ** "algtag" The algorithm tag to encode (need for RSA only) |
150 */ | 151 */ |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 ** This function is deprecated. Use VFY_VerifyDataDirect or | 342 ** This function is deprecated. Use VFY_VerifyDataDirect or |
342 ** VFY_VerifyDataWithAlgorithmID instead. | 343 ** VFY_VerifyDataWithAlgorithmID instead. |
343 ** "buf" the input data | 344 ** "buf" the input data |
344 ** "len" the length of the input data | 345 ** "len" the length of the input data |
345 ** "key" the public key to check the signature with | 346 ** "key" the public key to check the signature with |
346 ** "sig" the encrypted signature data | 347 ** "sig" the encrypted signature data |
347 ** "sigAlg" specifies the signing algorithm to use. This must match | 348 ** "sigAlg" specifies the signing algorithm to use. This must match |
348 ** the key type. | 349 ** the key type. |
349 ** "wincx" void pointer to the window context | 350 ** "wincx" void pointer to the window context |
350 */ | 351 */ |
351 extern SECStatus VFY_VerifyData(unsigned char *buf, int len, | 352 extern SECStatus VFY_VerifyData(const unsigned char *buf, int len, |
352 » » » » SECKEYPublicKey *key, SECItem *sig, | 353 » » » » const SECKEYPublicKey *key, const SECItem *sig, |
353 SECOidTag sigAlg, void *wincx); | 354 SECOidTag sigAlg, void *wincx); |
354 /* | 355 /* |
355 ** Verify the signature on a block of data. The signature data is an RSA | 356 ** Verify the signature on a block of data. The signature data is an RSA |
356 ** private key encrypted block of data formatted according to PKCS#1. | 357 ** private key encrypted block of data formatted according to PKCS#1. |
357 ** "buf" the input data | 358 ** "buf" the input data |
358 ** "len" the length of the input data | 359 ** "len" the length of the input data |
359 ** "key" the public key to check the signature with | 360 ** "key" the public key to check the signature with |
360 ** "sig" the encrypted signature data | 361 ** "sig" the encrypted signature data |
361 ** "pubkAlg" specifies the cryptographic signing algorithm to use (the | 362 ** "pubkAlg" specifies the cryptographic signing algorithm to use (the |
362 ** raw algorithm without any hash specified. This must match the key | 363 ** raw algorithm without any hash specified. This must match the key |
(...skipping 21 matching lines...) Expand all Loading... |
384 ** "key" the public key to check the signature with | 385 ** "key" the public key to check the signature with |
385 ** "sig" the encrypted signature data | 386 ** "sig" the encrypted signature data |
386 ** "algid" specifies the signing algorithm and parameters to use. | 387 ** "algid" specifies the signing algorithm and parameters to use. |
387 ** This must match the key type. | 388 ** This must match the key type. |
388 ** "hash" optional pointer to return the oid of the actual hash used in | 389 ** "hash" optional pointer to return the oid of the actual hash used in |
389 ** the signature. If this value is NULL no, hash oid is returned. | 390 ** the signature. If this value is NULL no, hash oid is returned. |
390 ** "wincx" void pointer to the window context | 391 ** "wincx" void pointer to the window context |
391 */ | 392 */ |
392 extern SECStatus VFY_VerifyDataWithAlgorithmID(const unsigned char *buf, | 393 extern SECStatus VFY_VerifyDataWithAlgorithmID(const unsigned char *buf, |
393 int len, const SECKEYPublicKey *key, | 394 int len, const SECKEYPublicKey *key, |
394 » » » » const SECItem *sig, | 395 » » » » const SECItem *sig, |
395 const SECAlgorithmID *algid, SECOidTag *hash, | 396 const SECAlgorithmID *algid, SECOidTag *hash, |
396 void *wincx); | 397 void *wincx); |
397 | 398 |
398 | 399 |
399 SEC_END_PROTOS | 400 SEC_END_PROTOS |
400 | 401 |
401 #endif /* _CRYPTOHI_H_ */ | 402 #endif /* _CRYPTOHI_H_ */ |
OLD | NEW |