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

Side by Side Diff: mozilla/security/nss/lib/cryptohi/secvfy.c

Issue 606034: NSS: update to 3.12.6 RC0 (Closed)
Patch Set: Created 10 years, 10 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
OLDNEW
1 /* 1 /*
2 * Verification stuff. 2 * Verification stuff.
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
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: secvfy.c,v 1.22 2008/02/28 04:27:36 nelson%bolyard.com Exp $ */ 40 /* $Id: secvfy.c,v 1.23 2010/02/10 00:49:43 wtc%google.com Exp $ */
41 41
42 #include <stdio.h> 42 #include <stdio.h>
43 #include "cryptohi.h" 43 #include "cryptohi.h"
44 #include "sechash.h" 44 #include "sechash.h"
45 #include "keyhi.h" 45 #include "keyhi.h"
46 #include "secasn1.h" 46 #include "secasn1.h"
47 #include "secoid.h" 47 #include "secoid.h"
48 #include "pk11func.h" 48 #include "pk11func.h"
49 #include "secdig.h" 49 #include "secdig.h"
50 #include "secerr.h" 50 #include "secerr.h"
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 SECStatus 714 SECStatus
715 VFY_VerifyDataDirect(const unsigned char *buf, int len, 715 VFY_VerifyDataDirect(const unsigned char *buf, int len,
716 const SECKEYPublicKey *key, const SECItem *sig, 716 const SECKEYPublicKey *key, const SECItem *sig,
717 SECOidTag encAlg, SECOidTag hashAlg, 717 SECOidTag encAlg, SECOidTag hashAlg,
718 SECOidTag *hash, void *wincx) 718 SECOidTag *hash, void *wincx)
719 { 719 {
720 return vfy_VerifyData(buf, len, key, sig, encAlg, hashAlg, hash, wincx); 720 return vfy_VerifyData(buf, len, key, sig, encAlg, hashAlg, hash, wincx);
721 } 721 }
722 722
723 SECStatus 723 SECStatus
724 VFY_VerifyData(unsigned char *buf, int len, SECKEYPublicKey *key, 724 VFY_VerifyData(const unsigned char *buf, int len, const SECKEYPublicKey *key,
725 » SECItem *sig, SECOidTag algid, void *wincx) 725 » const SECItem *sig, SECOidTag algid, void *wincx)
726 { 726 {
727 SECOidTag encAlg, hashAlg; 727 SECOidTag encAlg, hashAlg;
728 SECStatus rv = sec_DecodeSigAlg(key, algid, NULL, &encAlg, &hashAlg); 728 SECStatus rv = sec_DecodeSigAlg(key, algid, NULL, &encAlg, &hashAlg);
729 if (rv != SECSuccess) { 729 if (rv != SECSuccess) {
730 return rv; 730 return rv;
731 } 731 }
732 return vfy_VerifyData(buf, len, key, sig, encAlg, hashAlg, NULL, wincx); 732 return vfy_VerifyData(buf, len, key, sig, encAlg, hashAlg, NULL, wincx);
733 } 733 }
734 734
735 SECStatus 735 SECStatus
736 VFY_VerifyDataWithAlgorithmID(const unsigned char *buf, int len, 736 VFY_VerifyDataWithAlgorithmID(const unsigned char *buf, int len,
737 const SECKEYPublicKey *key, 737 const SECKEYPublicKey *key,
738 const SECItem *sig, 738 const SECItem *sig,
739 const SECAlgorithmID *sigAlgorithm, 739 const SECAlgorithmID *sigAlgorithm,
740 SECOidTag *hash, void *wincx) 740 SECOidTag *hash, void *wincx)
741 { 741 {
742 SECOidTag encAlg, hashAlg; 742 SECOidTag encAlg, hashAlg;
743 SECOidTag sigAlg = SECOID_GetAlgorithmTag((SECAlgorithmID *)sigAlgorithm); 743 SECOidTag sigAlg = SECOID_GetAlgorithmTag((SECAlgorithmID *)sigAlgorithm);
744 SECStatus rv = sec_DecodeSigAlg(key, sigAlg, 744 SECStatus rv = sec_DecodeSigAlg(key, sigAlg,
745 &sigAlgorithm->parameters, &encAlg, &hashAlg); 745 &sigAlgorithm->parameters, &encAlg, &hashAlg);
746 if (rv != SECSuccess) { 746 if (rv != SECSuccess) {
747 return rv; 747 return rv;
748 } 748 }
749 return vfy_VerifyData(buf, len, key, sig, encAlg, hashAlg, hash, wincx); 749 return vfy_VerifyData(buf, len, key, sig, encAlg, hashAlg, hash, wincx);
750 } 750 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698