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

Side by Side Diff: net/third_party/nss/ssl/ssl3ecc.c

Issue 9558017: Update net/third_party/nss to NSS 3.13.3. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Upload before checkin Created 8 years, 9 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 | « net/third_party/nss/ssl/ssl3con.c ('k') | net/third_party/nss/ssl/ssl3ext.c » ('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 * SSL3 Protocol 2 * SSL3 Protocol
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 22 matching lines...) Expand all
33 * under the terms of either the GPL or the LGPL, and not to allow others to 33 * under the terms of either the GPL or the LGPL, and not to allow others to
34 * use your version of this file under the terms of the MPL, indicate your 34 * use your version of this file under the terms of the MPL, indicate your
35 * decision by deleting the provisions above and replace them with the notice 35 * decision by deleting the provisions above and replace them with the notice
36 * and other provisions required by the GPL or the LGPL. If you do not delete 36 * and other provisions required by the GPL or the LGPL. If you do not delete
37 * the provisions above, a recipient may use your version of this file under 37 * the provisions above, a recipient may use your version of this file under
38 * the terms of any one of the MPL, the GPL or the LGPL. 38 * the terms of any one of the MPL, the GPL or the LGPL.
39 * 39 *
40 * ***** END LICENSE BLOCK ***** */ 40 * ***** END LICENSE BLOCK ***** */
41 41
42 /* ECC code moved here from ssl3con.c */ 42 /* ECC code moved here from ssl3con.c */
43 /* $Id: ssl3ecc.c,v 1.24 2010/03/15 08:03:14 nelson%bolyard.com Exp $ */ 43 /* $Id: ssl3ecc.c,v 1.26 2012/02/13 17:19:40 kaie%kuix.de Exp $ */
44 44
45 #include "nss.h" 45 #include "nss.h"
46 #include "cert.h" 46 #include "cert.h"
47 #include "ssl.h" 47 #include "ssl.h"
48 #include "cryptohi.h" /* for DSAU_ stuff */ 48 #include "cryptohi.h" /* for DSAU_ stuff */
49 #include "keyhi.h" 49 #include "keyhi.h"
50 #include "secder.h" 50 #include "secder.h"
51 #include "secitem.h" 51 #include "secitem.h"
52 52
53 #include "sslimpl.h" 53 #include "sslimpl.h"
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 310
311 isTLS = (PRBool)(ss->ssl3.pwSpec->version > SSL_LIBRARY_VERSION_3_0); 311 isTLS = (PRBool)(ss->ssl3.pwSpec->version > SSL_LIBRARY_VERSION_3_0);
312 312
313 /* Generate ephemeral EC keypair */ 313 /* Generate ephemeral EC keypair */
314 if (svrPubKey->keyType != ecKey) { 314 if (svrPubKey->keyType != ecKey) {
315 PORT_SetError(SEC_ERROR_BAD_KEY); 315 PORT_SetError(SEC_ERROR_BAD_KEY);
316 goto loser; 316 goto loser;
317 } 317 }
318 /* XXX SHOULD CALL ssl3_CreateECDHEphemeralKeys here, instead! */ 318 /* XXX SHOULD CALL ssl3_CreateECDHEphemeralKeys here, instead! */
319 privKey = SECKEY_CreateECPrivateKey(&svrPubKey->u.ec.DEREncodedParams, 319 privKey = SECKEY_CreateECPrivateKey(&svrPubKey->u.ec.DEREncodedParams,
320 » &pubKey, NULL); 320 » &pubKey, ss->pkcs11PinArg);
321 if (!privKey || !pubKey) { 321 if (!privKey || !pubKey) {
322 ssl_MapLowLevelError(SEC_ERROR_KEYGEN_FAIL); 322 ssl_MapLowLevelError(SEC_ERROR_KEYGEN_FAIL);
323 rv = SECFailure; 323 rv = SECFailure;
324 goto loser; 324 goto loser;
325 } 325 }
326 PRINT_BUF(50, (ss, "ECDH public value:", 326 PRINT_BUF(50, (ss, "ECDH public value:",
327 pubKey->u.ec.publicValue.data, 327 pubKey->u.ec.publicValue.data,
328 pubKey->u.ec.publicValue.len)); 328 pubKey->u.ec.publicValue.len));
329 329
330 if (isTLS) target = CKM_TLS_MASTER_KEY_DERIVE_DH; 330 if (isTLS) target = CKM_TLS_MASTER_KEY_DERIVE_DH;
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
961 ssl3_DisableECCSuites(ss, ecdhe_ecdsa_suites); 961 ssl3_DisableECCSuites(ss, ecdhe_ecdsa_suites);
962 } else { 962 } else {
963 SECOidTag sigTag = SECOID_GetAlgorithmTag(&svrCert->signature); 963 SECOidTag sigTag = SECOID_GetAlgorithmTag(&svrCert->signature);
964 964
965 switch (sigTag) { 965 switch (sigTag) {
966 case SEC_OID_PKCS1_RSA_ENCRYPTION: 966 case SEC_OID_PKCS1_RSA_ENCRYPTION:
967 case SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION: 967 case SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION:
968 case SEC_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION: 968 case SEC_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION:
969 case SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION: 969 case SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION:
970 case SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION: 970 case SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION:
971 case SEC_OID_PKCS1_SHA224_WITH_RSA_ENCRYPTION:
971 case SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION: 972 case SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION:
972 case SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION: 973 case SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION:
973 case SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION: 974 case SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION:
974 ssl3_DisableECCSuites(ss, ecdh_ecdsa_suites); 975 ssl3_DisableECCSuites(ss, ecdh_ecdsa_suites);
975 break; 976 break;
976 case SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE: 977 case SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE:
977 case SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE: 978 case SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE:
978 case SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE: 979 case SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE:
979 case SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE: 980 case SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE:
980 case SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE: 981 case SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE:
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
1184 ssl3_DisableECCSuites(ss, ecdhe_ecdsa_suites); 1185 ssl3_DisableECCSuites(ss, ecdhe_ecdsa_suites);
1185 return SECFailure; 1186 return SECFailure;
1186 1187
1187 loser: 1188 loser:
1188 /* no common curve supported */ 1189 /* no common curve supported */
1189 ssl3_DisableECCSuites(ss, ecSuites); 1190 ssl3_DisableECCSuites(ss, ecSuites);
1190 return SECFailure; 1191 return SECFailure;
1191 } 1192 }
1192 1193
1193 #endif /* NSS_ENABLE_ECC */ 1194 #endif /* NSS_ENABLE_ECC */
OLDNEW
« no previous file with comments | « net/third_party/nss/ssl/ssl3con.c ('k') | net/third_party/nss/ssl/ssl3ext.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698