OLD | NEW |
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 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 {CKM_NSS_JPAKE_ROUND2_SHA1, {0, 0, CKF_DERIVE}, PR_TRUE}, | 496 {CKM_NSS_JPAKE_ROUND2_SHA1, {0, 0, CKF_DERIVE}, PR_TRUE}, |
497 {CKM_NSS_JPAKE_ROUND2_SHA256, {0, 0, CKF_DERIVE}, PR_TRUE}, | 497 {CKM_NSS_JPAKE_ROUND2_SHA256, {0, 0, CKF_DERIVE}, PR_TRUE}, |
498 {CKM_NSS_JPAKE_ROUND2_SHA384, {0, 0, CKF_DERIVE}, PR_TRUE}, | 498 {CKM_NSS_JPAKE_ROUND2_SHA384, {0, 0, CKF_DERIVE}, PR_TRUE}, |
499 {CKM_NSS_JPAKE_ROUND2_SHA512, {0, 0, CKF_DERIVE}, PR_TRUE}, | 499 {CKM_NSS_JPAKE_ROUND2_SHA512, {0, 0, CKF_DERIVE}, PR_TRUE}, |
500 {CKM_NSS_JPAKE_FINAL_SHA1, {0, 0, CKF_DERIVE}, PR_TRUE}, | 500 {CKM_NSS_JPAKE_FINAL_SHA1, {0, 0, CKF_DERIVE}, PR_TRUE}, |
501 {CKM_NSS_JPAKE_FINAL_SHA256, {0, 0, CKF_DERIVE}, PR_TRUE}, | 501 {CKM_NSS_JPAKE_FINAL_SHA256, {0, 0, CKF_DERIVE}, PR_TRUE}, |
502 {CKM_NSS_JPAKE_FINAL_SHA384, {0, 0, CKF_DERIVE}, PR_TRUE}, | 502 {CKM_NSS_JPAKE_FINAL_SHA384, {0, 0, CKF_DERIVE}, PR_TRUE}, |
503 {CKM_NSS_JPAKE_FINAL_SHA512, {0, 0, CKF_DERIVE}, PR_TRUE}, | 503 {CKM_NSS_JPAKE_FINAL_SHA512, {0, 0, CKF_DERIVE}, PR_TRUE}, |
504 /* -------------------- Constant Time TLS MACs ----------------------- */ | 504 /* -------------------- Constant Time TLS MACs ----------------------- */ |
505 {CKM_NSS_HMAC_CONSTANT_TIME, {0, 0, CKF_DIGEST}, PR_TRUE}, | 505 {CKM_NSS_HMAC_CONSTANT_TIME, {0, 0, CKF_DIGEST}, PR_TRUE}, |
506 {CKM_NSS_SSL3_MAC_CONSTANT_TIME, {0, 0, CKF_DIGEST}, PR_TRUE} | 506 {CKM_NSS_SSL3_MAC_CONSTANT_TIME, {0, 0, CKF_DIGEST}, PR_TRUE}, |
| 507 /* -------------------- ChaCha20+Poly1305 AEAD ----------------------- */ |
| 508 {CKM_NSS_CHACHA20_POLY1305,» {32, 32, CKF_EN_DE},» PR_TRUE} |
507 }; | 509 }; |
508 static const CK_ULONG mechanismCount = sizeof(mechanisms)/sizeof(mechanisms[0]); | 510 static const CK_ULONG mechanismCount = sizeof(mechanisms)/sizeof(mechanisms[0]); |
509 | 511 |
510 /* sigh global so fipstokn can read it */ | 512 /* sigh global so fipstokn can read it */ |
511 PRBool nsc_init = PR_FALSE; | 513 PRBool nsc_init = PR_FALSE; |
512 | 514 |
513 #if defined(CHECK_FORK_PTHREAD) || defined(CHECK_FORK_MIXED) | 515 #if defined(CHECK_FORK_PTHREAD) || defined(CHECK_FORK_MIXED) |
514 | 516 |
515 #include <pthread.h> | 517 #include <pthread.h> |
516 | 518 |
(...skipping 4205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4722 | 4724 |
4723 | 4725 |
4724 CK_RV NSC_WaitForSlotEvent(CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, | 4726 CK_RV NSC_WaitForSlotEvent(CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, |
4725 CK_VOID_PTR pReserved) | 4727 CK_VOID_PTR pReserved) |
4726 { | 4728 { |
4727 CHECK_FORK(); | 4729 CHECK_FORK(); |
4728 | 4730 |
4729 return CKR_FUNCTION_NOT_SUPPORTED; | 4731 return CKR_FUNCTION_NOT_SUPPORTED; |
4730 } | 4732 } |
4731 | 4733 |
OLD | NEW |