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

Side by Side Diff: nss/lib/util/pkcs11t.h

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 | « nss/lib/softoken/tlsprf.c ('k') | no next file » | 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 /* License to copy and use this software is granted provided that it is 4 /* License to copy and use this software is granted provided that it is
5 * identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface 5 * identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface
6 * (Cryptoki)" in all material mentioning or referencing this software. 6 * (Cryptoki)" in all material mentioning or referencing this software.
7 7
8 * License is also granted to make and use derivative works provided that 8 * License is also granted to make and use derivative works provided that
9 * such works are identified as "derived from the RSA Security Inc. PKCS #11 9 * such works are identified as "derived from the RSA Security Inc. PKCS #11
10 * Cryptographic Token Interface (Cryptoki)" in all material mentioning or 10 * Cryptographic Token Interface (Cryptoki)" in all material mentioning or
(...skipping 806 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 #define CKM_PBA_SHA1_WITH_SHA1_HMAC 0x000003C0 817 #define CKM_PBA_SHA1_WITH_SHA1_HMAC 0x000003C0
818 818
819 /* WTLS mechanisms are new for v2.20 */ 819 /* WTLS mechanisms are new for v2.20 */
820 #define CKM_WTLS_PRE_MASTER_KEY_GEN 0x000003D0 820 #define CKM_WTLS_PRE_MASTER_KEY_GEN 0x000003D0
821 #define CKM_WTLS_MASTER_KEY_DERIVE 0x000003D1 821 #define CKM_WTLS_MASTER_KEY_DERIVE 0x000003D1
822 #define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC 0x000003D2 822 #define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC 0x000003D2
823 #define CKM_WTLS_PRF 0x000003D3 823 #define CKM_WTLS_PRF 0x000003D3
824 #define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE 0x000003D4 824 #define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE 0x000003D4
825 #define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE 0x000003D5 825 #define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE 0x000003D5
826 826
827 /* TLS 1.2 mechanisms are new for v2.40 */
828 #define CKM_TLS12_MASTER_KEY_DERIVE 0x000003E0
829 #define CKM_TLS12_KEY_AND_MAC_DERIVE 0x000003E1
830 #define CKM_TLS12_MASTER_KEY_DERIVE_DH 0x000003E2
831 #define CKM_TLS10_MAC_SERVER 0x000003E3
832 #define CKM_TLS10_MAC_CLIENT 0x000003E4
833 #define CKM_TLS12_MAC 0x000003E5
834 #define CKM_TLS12_KEY_SAFE_DERIVE 0x000003E6
835 #define CKM_TLS_KDF 0x000003E7
836
827 #define CKM_KEY_WRAP_LYNKS 0x00000400 837 #define CKM_KEY_WRAP_LYNKS 0x00000400
828 #define CKM_KEY_WRAP_SET_OAEP 0x00000401 838 #define CKM_KEY_WRAP_SET_OAEP 0x00000401
829 839
830 /* CKM_CMS_SIG is new for v2.20 */ 840 /* CKM_CMS_SIG is new for v2.20 */
831 #define CKM_CMS_SIG 0x00000500 841 #define CKM_CMS_SIG 0x00000500
832 842
833 /* Fortezza mechanisms */ 843 /* Fortezza mechanisms */
834 #define CKM_SKIPJACK_KEY_GEN 0x00001000 844 #define CKM_SKIPJACK_KEY_GEN 0x00001000
835 #define CKM_SKIPJACK_ECB64 0x00001001 845 #define CKM_SKIPJACK_ECB64 0x00001001
836 #define CKM_SKIPJACK_CBC64 0x00001002 846 #define CKM_SKIPJACK_CBC64 0x00001002
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
1641 CK_BYTE_PTR pSeed; 1651 CK_BYTE_PTR pSeed;
1642 CK_ULONG ulSeedLen; 1652 CK_ULONG ulSeedLen;
1643 CK_BYTE_PTR pLabel; 1653 CK_BYTE_PTR pLabel;
1644 CK_ULONG ulLabelLen; 1654 CK_ULONG ulLabelLen;
1645 CK_BYTE_PTR pOutput; 1655 CK_BYTE_PTR pOutput;
1646 CK_ULONG_PTR pulOutputLen; 1656 CK_ULONG_PTR pulOutputLen;
1647 } CK_TLS_PRF_PARAMS; 1657 } CK_TLS_PRF_PARAMS;
1648 1658
1649 typedef CK_TLS_PRF_PARAMS CK_PTR CK_TLS_PRF_PARAMS_PTR; 1659 typedef CK_TLS_PRF_PARAMS CK_PTR CK_TLS_PRF_PARAMS_PTR;
1650 1660
1661 /* TLS 1.2 is new for version 2.40 */
1662 typedef struct CK_TLS12_MASTER_KEY_DERIVE_PARAMS {
1663 CK_SSL3_RANDOM_DATA RandomInfo;
1664 CK_VERSION_PTR pVersion;
1665 CK_MECHANISM_TYPE prfHashMechanism;
1666 } CK_TLS12_MASTER_KEY_DERIVE_PARAMS;
1667
1668 typedef CK_TLS12_MASTER_KEY_DERIVE_PARAMS CK_PTR \
1669 CK_TLS12_MASTER_KEY_DERIVE_PARAMS_PTR;
1670
1671 typedef struct CK_TLS12_KEY_MAT_PARAMS {
1672 CK_ULONG ulMacSizeInBits;
1673 CK_ULONG ulKeySizeInBits;
1674 CK_ULONG ulIVSizeInBits;
1675 CK_BBOOL bIsExport; /* Unused. Must be set to CK_FALSE. */
1676 CK_SSL3_RANDOM_DATA RandomInfo;
1677 CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial;
1678 CK_MECHANISM_TYPE prfHashMechanism;
1679 } CK_TLS12_KEY_MAT_PARAMS;
1680
1681 typedef CK_TLS12_KEY_MAT_PARAMS CK_PTR CK_TLS12_KEY_MAT_PARAMS_PTR;
1682
1683 typedef struct CK_TLS_KDF_PARAMS {
1684 CK_MECHANISM_TYPE prfMechanism;
1685 CK_BYTE_PTR pLabel;
1686 CK_ULONG ulLabelLength;
1687 CK_SSL3_RANDOM_DATA RandomInfo;
1688 CK_BYTE_PTR pContextData;
1689 CK_ULONG ulContextDataLength;
1690 } CK_TLS_KDF_PARAMS;
1691
1692 typedef struct CK_TLS12_MAC_PARAMS {
1693 CK_MECHANISM_TYPE prfHashMechanism;
1694 CK_ULONG ulMacLength;
1695 CK_ULONG ulServerOrClient;
1696 } CK_TLS12_MAC_PARAMS;
1697
1698 typedef CK_TLS12_MAC_PARAMS CK_PTR CK_TLS12_MAC_PARAMS_PTR;
1699
1651 /* WTLS is new for version 2.20 */ 1700 /* WTLS is new for version 2.20 */
1652 typedef struct CK_WTLS_RANDOM_DATA { 1701 typedef struct CK_WTLS_RANDOM_DATA {
1653 CK_BYTE_PTR pClientRandom; 1702 CK_BYTE_PTR pClientRandom;
1654 CK_ULONG ulClientRandomLen; 1703 CK_ULONG ulClientRandomLen;
1655 CK_BYTE_PTR pServerRandom; 1704 CK_BYTE_PTR pServerRandom;
1656 CK_ULONG ulServerRandomLen; 1705 CK_ULONG ulServerRandomLen;
1657 } CK_WTLS_RANDOM_DATA; 1706 } CK_WTLS_RANDOM_DATA;
1658 1707
1659 typedef CK_WTLS_RANDOM_DATA CK_PTR CK_WTLS_RANDOM_DATA_PTR; 1708 typedef CK_WTLS_RANDOM_DATA CK_PTR CK_WTLS_RANDOM_DATA_PTR;
1660 1709
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1784 /* stuff that for historic reasons is in this header file but should have 1833 /* stuff that for historic reasons is in this header file but should have
1785 * been in pkcs11n.h */ 1834 * been in pkcs11n.h */
1786 #define CKK_INVALID_KEY_TYPE 0xffffffff 1835 #define CKK_INVALID_KEY_TYPE 0xffffffff
1787 1836
1788 #include "pkcs11n.h" 1837 #include "pkcs11n.h"
1789 1838
1790 /* undo packing */ 1839 /* undo packing */
1791 #include "pkcs11u.h" 1840 #include "pkcs11u.h"
1792 1841
1793 #endif 1842 #endif
OLDNEW
« no previous file with comments | « nss/lib/softoken/tlsprf.c ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698