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

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

Issue 10961060: Update NSS to NSS 3.14 Beta 1. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/nss/
Patch Set: Merge nss-static2.patch into nss-static.patch Created 8 years, 3 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
OLDNEW
1 /* 1 /*
2 * Signature stuff. 2 * Signature stuff.
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 /* $Id: secsign.c,v 1.29 2012/06/25 21:48:39 rrelyea%redhat.com Exp $ */ 7 /* $Id: secsign.c,v 1.29 2012/06/25 21:48:39 rrelyea%redhat.com Exp $ */
8 8
9 #include <stdio.h> 9 #include <stdio.h>
10 #include "cryptohi.h" 10 #include "cryptohi.h"
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 /* XXX We should probably have some asserts here to make sure the key type 319 /* XXX We should probably have some asserts here to make sure the key type
320 * and algID match 320 * and algID match
321 */ 321 */
322 322
323 if (algID == SEC_OID_UNKNOWN) { 323 if (algID == SEC_OID_UNKNOWN) {
324 switch(pk->keyType) { 324 switch(pk->keyType) {
325 case rsaKey: 325 case rsaKey:
326 algID = SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION; 326 algID = SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION;
327 break; 327 break;
328 case dsaKey: 328 case dsaKey:
329 » algID = SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST; 329 » /* get Signature length (= q_len*2) and work from there */
330 » switch (PK11_SignatureLen(pk)) {
331 » » case 448:
332 » » algID = SEC_OID_NIST_DSA_SIGNATURE_WITH_SHA224_DIGEST;
333 » » break;
334 » » case 512:
335 » » algID = SEC_OID_NIST_DSA_SIGNATURE_WITH_SHA256_DIGEST;
336 » » break;
337 » » default:
338 » » algID = SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST;
339 » » break;
340 » }
330 break; 341 break;
331 case ecKey: 342 case ecKey:
332 algID = SEC_OID_ANSIX962_ECDSA_SIGNATURE_WITH_SHA1_DIGEST; 343 algID = SEC_OID_ANSIX962_ECDSA_SIGNATURE_WITH_SHA1_DIGEST;
333 break; 344 break;
334 default: 345 default:
335 PORT_SetError(SEC_ERROR_INVALID_KEY); 346 PORT_SetError(SEC_ERROR_INVALID_KEY);
336 return SECFailure; 347 return SECFailure;
337 } 348 }
338 } 349 }
339 350
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 sigTag = SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION; break; 466 sigTag = SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION; break;
456 default: 467 default:
457 break; 468 break;
458 } 469 }
459 break; 470 break;
460 case dsaKey: 471 case dsaKey:
461 switch (hashAlgTag) { 472 switch (hashAlgTag) {
462 case SEC_OID_UNKNOWN: /* default for DSA if not specified */ 473 case SEC_OID_UNKNOWN: /* default for DSA if not specified */
463 case SEC_OID_SHA1: 474 case SEC_OID_SHA1:
464 sigTag = SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST; break; 475 sigTag = SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST; break;
476 case SEC_OID_SHA224:
477 sigTag = SEC_OID_NIST_DSA_SIGNATURE_WITH_SHA224_DIGEST; break;
478 case SEC_OID_SHA256:
479 sigTag = SEC_OID_NIST_DSA_SIGNATURE_WITH_SHA256_DIGEST; break;
465 default: 480 default:
466 break; 481 break;
467 } 482 }
468 break; 483 break;
469 case ecKey: 484 case ecKey:
470 switch (hashAlgTag) { 485 switch (hashAlgTag) {
471 case SEC_OID_UNKNOWN: /* default for ECDSA if not specified */ 486 case SEC_OID_UNKNOWN: /* default for ECDSA if not specified */
472 case SEC_OID_SHA1: 487 case SEC_OID_SHA1:
473 sigTag = SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE; break; 488 sigTag = SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE; break;
474 case SEC_OID_SHA224: 489 case SEC_OID_SHA224:
475 sigTag = SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE; break; 490 sigTag = SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE; break;
476 case SEC_OID_SHA256: 491 case SEC_OID_SHA256:
477 sigTag = SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE; break; 492 sigTag = SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE; break;
478 case SEC_OID_SHA384: 493 case SEC_OID_SHA384:
479 sigTag = SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE; break; 494 sigTag = SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE; break;
480 case SEC_OID_SHA512: 495 case SEC_OID_SHA512:
481 sigTag = SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE; break; 496 sigTag = SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE; break;
482 default: 497 default:
483 break; 498 break;
484 } 499 }
485 default: 500 default:
486 break; 501 break;
487 } 502 }
488 return sigTag; 503 return sigTag;
489 } 504 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698