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

Side by Side Diff: nss/lib/softoken/pkcs11.c

Issue 23510003: Implement the TLS 1.2 mechanisms for PKCS #11. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/nss/
Patch Set: Allow CKM_TLS12_MAC to use the TLS 1.0 and 1.1 PRF Created 7 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
« no previous file with comments | « no previous file | nss/lib/softoken/pkcs11c.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 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 /* 4 /*
5 * This file implements PKCS 11 on top of our existing security modules 5 * This file implements PKCS 11 on top of our existing security modules
6 * 6 *
7 * For more information about PKCS 11 See PKCS 11 Token Inteface Standard. 7 * For more information about PKCS 11 See PKCS 11 Token Inteface Standard.
8 * This implementation has two slots: 8 * This implementation has two slots:
9 * slot 1 is our generic crypto support. It does not require login. 9 * slot 1 is our generic crypto support. It does not require login.
10 * It supports Public Key ops, and all they bulk ciphers and hashes. 10 * It supports Public Key ops, and all they bulk ciphers and hashes.
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 {CKM_SHA256, {0, 0, CKF_DIGEST}, PR_FALSE}, 384 {CKM_SHA256, {0, 0, CKF_DIGEST}, PR_FALSE},
385 {CKM_SHA256_HMAC, {1, 128, CKF_SN_VR}, PR_TRUE}, 385 {CKM_SHA256_HMAC, {1, 128, CKF_SN_VR}, PR_TRUE},
386 {CKM_SHA256_HMAC_GENERAL, {1, 128, CKF_SN_VR}, PR_TRUE}, 386 {CKM_SHA256_HMAC_GENERAL, {1, 128, CKF_SN_VR}, PR_TRUE},
387 {CKM_SHA384, {0, 0, CKF_DIGEST}, PR_FALSE}, 387 {CKM_SHA384, {0, 0, CKF_DIGEST}, PR_FALSE},
388 {CKM_SHA384_HMAC, {1, 128, CKF_SN_VR}, PR_TRUE}, 388 {CKM_SHA384_HMAC, {1, 128, CKF_SN_VR}, PR_TRUE},
389 {CKM_SHA384_HMAC_GENERAL, {1, 128, CKF_SN_VR}, PR_TRUE}, 389 {CKM_SHA384_HMAC_GENERAL, {1, 128, CKF_SN_VR}, PR_TRUE},
390 {CKM_SHA512, {0, 0, CKF_DIGEST}, PR_FALSE}, 390 {CKM_SHA512, {0, 0, CKF_DIGEST}, PR_FALSE},
391 {CKM_SHA512_HMAC, {1, 128, CKF_SN_VR}, PR_TRUE}, 391 {CKM_SHA512_HMAC, {1, 128, CKF_SN_VR}, PR_TRUE},
392 {CKM_SHA512_HMAC_GENERAL, {1, 128, CKF_SN_VR}, PR_TRUE}, 392 {CKM_SHA512_HMAC_GENERAL, {1, 128, CKF_SN_VR}, PR_TRUE},
393 {CKM_TLS_PRF_GENERAL, {0, 512, CKF_SN_VR}, PR_FALSE}, 393 {CKM_TLS_PRF_GENERAL, {0, 512, CKF_SN_VR}, PR_FALSE},
394 {CKM_TLS12_MAC, {0, 512, CKF_SN_VR}, PR_FALSE},
394 {CKM_NSS_TLS_PRF_GENERAL_SHA256, 395 {CKM_NSS_TLS_PRF_GENERAL_SHA256,
395 {0, 512, CKF_SN_VR}, PR_FALSE}, 396 {0, 512, CKF_SN_VR}, PR_FALSE},
396 /* ------------------------- HKDF Operations -------------------------- */ 397 /* ------------------------- HKDF Operations -------------------------- */
397 {CKM_NSS_HKDF_SHA1, {1, 128, CKF_DERIVE}, PR_TRUE}, 398 {CKM_NSS_HKDF_SHA1, {1, 128, CKF_DERIVE}, PR_TRUE},
398 {CKM_NSS_HKDF_SHA256, {1, 128, CKF_DERIVE}, PR_TRUE}, 399 {CKM_NSS_HKDF_SHA256, {1, 128, CKF_DERIVE}, PR_TRUE},
399 {CKM_NSS_HKDF_SHA384, {1, 128, CKF_DERIVE}, PR_TRUE}, 400 {CKM_NSS_HKDF_SHA384, {1, 128, CKF_DERIVE}, PR_TRUE},
400 {CKM_NSS_HKDF_SHA512, {1, 128, CKF_DERIVE}, PR_TRUE}, 401 {CKM_NSS_HKDF_SHA512, {1, 128, CKF_DERIVE}, PR_TRUE},
401 /* ------------------------- CAST Operations --------------------------- */ 402 /* ------------------------- CAST Operations --------------------------- */
402 #ifdef NSS_SOFTOKEN_DOES_CAST 403 #ifdef NSS_SOFTOKEN_DOES_CAST
403 /* Cast operations are not supported ( yet? ) */ 404 /* Cast operations are not supported ( yet? ) */
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 {CKM_SSL3_MD5_MAC, { 0, 16, CKF_DERIVE}, PR_FALSE}, 454 {CKM_SSL3_MD5_MAC, { 0, 16, CKF_DERIVE}, PR_FALSE},
454 {CKM_SSL3_SHA1_MAC, { 0, 20, CKF_DERIVE}, PR_FALSE}, 455 {CKM_SSL3_SHA1_MAC, { 0, 20, CKF_DERIVE}, PR_FALSE},
455 {CKM_MD5_KEY_DERIVATION, { 0, 16, CKF_DERIVE}, PR_FALSE}, 456 {CKM_MD5_KEY_DERIVATION, { 0, 16, CKF_DERIVE}, PR_FALSE},
456 {CKM_MD2_KEY_DERIVATION, { 0, 16, CKF_DERIVE}, PR_FALSE}, 457 {CKM_MD2_KEY_DERIVATION, { 0, 16, CKF_DERIVE}, PR_FALSE},
457 {CKM_SHA1_KEY_DERIVATION, { 0, 20, CKF_DERIVE}, PR_FALSE}, 458 {CKM_SHA1_KEY_DERIVATION, { 0, 20, CKF_DERIVE}, PR_FALSE},
458 {CKM_SHA224_KEY_DERIVATION, { 0, 28, CKF_DERIVE}, PR_FALSE}, 459 {CKM_SHA224_KEY_DERIVATION, { 0, 28, CKF_DERIVE}, PR_FALSE},
459 {CKM_SHA256_KEY_DERIVATION, { 0, 32, CKF_DERIVE}, PR_FALSE}, 460 {CKM_SHA256_KEY_DERIVATION, { 0, 32, CKF_DERIVE}, PR_FALSE},
460 {CKM_SHA384_KEY_DERIVATION, { 0, 48, CKF_DERIVE}, PR_FALSE}, 461 {CKM_SHA384_KEY_DERIVATION, { 0, 48, CKF_DERIVE}, PR_FALSE},
461 {CKM_SHA512_KEY_DERIVATION, { 0, 64, CKF_DERIVE}, PR_FALSE}, 462 {CKM_SHA512_KEY_DERIVATION, { 0, 64, CKF_DERIVE}, PR_FALSE},
462 {CKM_TLS_MASTER_KEY_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE}, 463 {CKM_TLS_MASTER_KEY_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE},
464 {CKM_TLS12_MASTER_KEY_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE},
463 {CKM_NSS_TLS_MASTER_KEY_DERIVE_SHA256, 465 {CKM_NSS_TLS_MASTER_KEY_DERIVE_SHA256,
464 {48, 48, CKF_DERIVE}, PR_FALSE}, 466 {48, 48, CKF_DERIVE}, PR_FALSE},
465 {CKM_TLS_MASTER_KEY_DERIVE_DH, {8, 128, CKF_DERIVE}, PR_FALSE}, 467 {CKM_TLS_MASTER_KEY_DERIVE_DH, {8, 128, CKF_DERIVE}, PR_FALSE},
468 {CKM_TLS12_MASTER_KEY_DERIVE_DH, {8, 128, CKF_DERIVE}, PR_FALSE},
466 {CKM_NSS_TLS_MASTER_KEY_DERIVE_DH_SHA256, 469 {CKM_NSS_TLS_MASTER_KEY_DERIVE_DH_SHA256,
467 {8, 128, CKF_DERIVE}, PR_FALSE}, 470 {8, 128, CKF_DERIVE}, PR_FALSE},
468 {CKM_TLS_KEY_AND_MAC_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE}, 471 {CKM_TLS_KEY_AND_MAC_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE},
472 {CKM_TLS12_KEY_AND_MAC_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE},
469 {CKM_NSS_TLS_KEY_AND_MAC_DERIVE_SHA256, 473 {CKM_NSS_TLS_KEY_AND_MAC_DERIVE_SHA256,
470 {48, 48, CKF_DERIVE}, PR_FALSE}, 474 {48, 48, CKF_DERIVE}, PR_FALSE},
471 /* ---------------------- PBE Key Derivations ------------------------ */ 475 /* ---------------------- PBE Key Derivations ------------------------ */
472 {CKM_PBE_MD2_DES_CBC, {8, 8, CKF_DERIVE}, PR_TRUE}, 476 {CKM_PBE_MD2_DES_CBC, {8, 8, CKF_DERIVE}, PR_TRUE},
473 {CKM_PBE_MD5_DES_CBC, {8, 8, CKF_DERIVE}, PR_TRUE}, 477 {CKM_PBE_MD5_DES_CBC, {8, 8, CKF_DERIVE}, PR_TRUE},
474 /* ------------------ NETSCAPE PBE Key Derivations ------------------- */ 478 /* ------------------ NETSCAPE PBE Key Derivations ------------------- */
475 {CKM_NETSCAPE_PBE_SHA1_DES_CBC, { 8, 8, CKF_GENERATE}, PR_TRUE}, 479 {CKM_NETSCAPE_PBE_SHA1_DES_CBC, { 8, 8, CKF_GENERATE}, PR_TRUE},
476 {CKM_NETSCAPE_PBE_SHA1_FAULTY_3DES_CBC, {24,24, CKF_GENERATE}, PR_TRUE}, 480 {CKM_NETSCAPE_PBE_SHA1_FAULTY_3DES_CBC, {24,24, CKF_GENERATE}, PR_TRUE},
477 {CKM_PBE_SHA1_DES3_EDE_CBC, {24,24, CKF_GENERATE}, PR_TRUE}, 481 {CKM_PBE_SHA1_DES3_EDE_CBC, {24,24, CKF_GENERATE}, PR_TRUE},
478 {CKM_PBE_SHA1_DES2_EDE_CBC, {24,24, CKF_GENERATE}, PR_TRUE}, 482 {CKM_PBE_SHA1_DES2_EDE_CBC, {24,24, CKF_GENERATE}, PR_TRUE},
(...skipping 4243 matching lines...) Expand 10 before | Expand all | Expand 10 after
4722 4726
4723 4727
4724 CK_RV NSC_WaitForSlotEvent(CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, 4728 CK_RV NSC_WaitForSlotEvent(CK_FLAGS flags, CK_SLOT_ID_PTR pSlot,
4725 CK_VOID_PTR pReserved) 4729 CK_VOID_PTR pReserved)
4726 { 4730 {
4727 CHECK_FORK(); 4731 CHECK_FORK();
4728 4732
4729 return CKR_FUNCTION_NOT_SUPPORTED; 4733 return CKR_FUNCTION_NOT_SUPPORTED;
4730 } 4734 }
4731 4735
OLDNEW
« no previous file with comments | « no previous file | nss/lib/softoken/pkcs11c.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698