790 #define CKM_PBE_SHA1_RC4_128 0x000003A6 791 #define CKM_PBE_SHA1_RC4_40 0x000003A7 792 #define CKM_PBE_SHA1_DES3_EDE_CBC 0x000003A8 793 #define CKM_PBE_SHA1_DES2_EDE_CBC 0x000003A9 794 #define CKM_PBE_SHA1_RC2_128_CBC 0x000003AA 795 #define CKM_PBE_SHA1_RC2_40_CBC 0x000003AB 796 797 /* CKM_PKCS5_PBKD2 is new for v2.10 */ 798 #define CKM_PKCS5_PBKD2 0x000003B0 799 800 #define CKM_PBA_SHA1_WITH_SHA1_HMAC 0x000003C0 801 802 /* WTLS mechanisms are new for v2.20 */ 803 #define CKM_WTLS_PRE_MASTER_KEY_GEN 0x000003D0 804 #define CKM_WTLS_MASTER_KEY_DERIVE 0x000003D1 805 #define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC 0x000003D2 806 #define CKM_WTLS_PRF 0x000003D3 807 #define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE 0x000003D4 808 #define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE 0x000003D5 809 810 #define CKM_KEY_WRAP_LYNKS 0x00000400 811 #define CKM_KEY_WRAP_SET_OAEP 0x00000401 812 813 /* CKM_CMS_SIG is new for v2.20 */ 814 #define CKM_CMS_SIG 0x00000500 815 816 /* Fortezza mechanisms */ 817 #define CKM_SKIPJACK_KEY_GEN 0x00001000 818 #define CKM_SKIPJACK_ECB64 0x00001001 819 #define CKM_SKIPJACK_CBC64 0x00001002 820 #define CKM_SKIPJACK_OFB64 0x00001003 821 #define CKM_SKIPJACK_CFB64 0x00001004 822 #define CKM_SKIPJACK_CFB32 0x00001005 823 #define CKM_SKIPJACK_CFB16 0x00001006 824 #define CKM_SKIPJACK_CFB8 0x00001007 825 #define CKM_SKIPJACK_WRAP 0x00001008 826 #define CKM_SKIPJACK_PRIVATE_WRAP 0x00001009 827 #define CKM_SKIPJACK_RELAYX 0x0000100a 828 #define CKM_KEA_KEY_PAIR_GEN 0x00001010 829 #define CKM_KEA_KEY_DERIVE 0x00001011 1664 1665 /* The following salt value sources are defined in PKCS #5 v2.0. */ 1666 #define CKZ_SALT_SPECIFIED 0x00000001 1667 1668 /* CK_PKCS5_PBKD2_PARAMS is new for v2.10. 1669 * CK_PKCS5_PBKD2_PARAMS is a structure that provides the 1670 * parameters to the CKM_PKCS5_PBKD2 mechanism. */ 1671 typedef struct CK_PKCS5_PBKD2_PARAMS { 1672 CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource; 1673 CK_VOID_PTR pSaltSourceData; 1674 CK_ULONG ulSaltSourceDataLen; 1675 CK_ULONG iterations; 1676 CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf; 1677 CK_VOID_PTR pPrfData; 1678 CK_ULONG ulPrfDataLen; 1679 CK_UTF8CHAR_PTR pPassword; 1680 CK_ULONG_PTR ulPasswordLen; 1681 } CK_PKCS5_PBKD2_PARAMS; 1682 1683 typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR; 1684 1685 #endif | 790 #define CKM_PBE_SHA1_RC4_128 0x000003A6 791 #define CKM_PBE_SHA1_RC4_40 0x000003A7 792 #define CKM_PBE_SHA1_DES3_EDE_CBC 0x000003A8 793 #define CKM_PBE_SHA1_DES2_EDE_CBC 0x000003A9 794 #define CKM_PBE_SHA1_RC2_128_CBC 0x000003AA 795 #define CKM_PBE_SHA1_RC2_40_CBC 0x000003AB 796 797 /* CKM_PKCS5_PBKD2 is new for v2.10 */ 798 #define CKM_PKCS5_PBKD2 0x000003B0 799 800 #define CKM_PBA_SHA1_WITH_SHA1_HMAC 0x000003C0 801 802 /* WTLS mechanisms are new for v2.20 */ 803 #define CKM_WTLS_PRE_MASTER_KEY_GEN 0x000003D0 804 #define CKM_WTLS_MASTER_KEY_DERIVE 0x000003D1 805 #define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC 0x000003D2 806 #define CKM_WTLS_PRF 0x000003D3 807 #define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE 0x000003D4 808 #define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE 0x000003D5 809 810 /* new for v2.40 */ 811 #define CKM_TLS12_MASTER_KEY_DERIVE 0x000003E0 812 #define CKM_TLS12_KEY_AND_MAC_DERIVE 0x000003E1 813 #define CKM_TLS12_MASTER_KEY_DERIVE_DH 0x000003E2 814 #define CKM_TLS_MAC 0x000003E4 815 816 #define CKM_KEY_WRAP_LYNKS 0x00000400 817 #define CKM_KEY_WRAP_SET_OAEP 0x00000401 818 819 /* CKM_CMS_SIG is new for v2.20 */ 820 #define CKM_CMS_SIG 0x00000500 821 822 /* Fortezza mechanisms */ 823 #define CKM_SKIPJACK_KEY_GEN 0x00001000 824 #define CKM_SKIPJACK_ECB64 0x00001001 825 #define CKM_SKIPJACK_CBC64 0x00001002 826 #define CKM_SKIPJACK_OFB64 0x00001003 827 #define CKM_SKIPJACK_CFB64 0x00001004 828 #define CKM_SKIPJACK_CFB32 0x00001005 829 #define CKM_SKIPJACK_CFB16 0x00001006 830 #define CKM_SKIPJACK_CFB8 0x00001007 831 #define CKM_SKIPJACK_WRAP 0x00001008 832 #define CKM_SKIPJACK_PRIVATE_WRAP 0x00001009 833 #define CKM_SKIPJACK_RELAYX 0x0000100a 834 #define CKM_KEA_KEY_PAIR_GEN 0x00001010 835 #define CKM_KEA_KEY_DERIVE 0x00001011 1670 1671 /* The following salt value sources are defined in PKCS #5 v2.0. */ 1672 #define CKZ_SALT_SPECIFIED 0x00000001 1673 1674 /* CK_PKCS5_PBKD2_PARAMS is new for v2.10. 1675 * CK_PKCS5_PBKD2_PARAMS is a structure that provides the 1676 * parameters to the CKM_PKCS5_PBKD2 mechanism. */ 1677 typedef struct CK_PKCS5_PBKD2_PARAMS { 1678 CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource; 1679 CK_VOID_PTR pSaltSourceData; 1680 CK_ULONG ulSaltSourceDataLen; 1681 CK_ULONG iterations; 1682 CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf; 1683 CK_VOID_PTR pPrfData; 1684 CK_ULONG ulPrfDataLen; 1685 CK_UTF8CHAR_PTR pPassword; 1686 CK_ULONG_PTR ulPasswordLen; 1687 } CK_PKCS5_PBKD2_PARAMS; 1688 1689 typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR; 1690 1691 /* new for v2.40 */ 1692 1693 typedef struct CK_TLS12_MASTER_KEY_DERIVE_PARAMS { 1694 CK_SSL3_RANDOM_DATA RandomInfo; 1695 CK_VERSION_PTR pVersion; 1696 CK_MECHANISM_TYPE prfHashMechanism; 1697 } CK_TLS12_MASTER_KEY_DERIVE_PARAMS; 1698 1699 typedef CK_TLS12_MASTER_KEY_DERIVE_PARAMS CK_PTR CK_TLS12_MASTER_KEY_DERIVE_PARAMS_PTR; 1700 1701 typedef struct CK_TLS12_KEY_MAT_PARAMS { 1702 CK_ULONG ulMacSizeInBits; 1703 CK_ULONG ulKeySizeInBits; 1704 CK_ULONG ulIVSizeInBits; 1705 CK_BBOOL bIsExport; 1706 CK_SSL3_RANDOM_DATA RandomInfo; 1707 CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial; 1708 CK_MECHANISM_TYPE prfHashMechanism; 1709 } CK_TLS12_KEY_MAT_PARAMS; 1710 1711 typedef CK_TLS12_KEY_MAT_PARAMS CK_PTR CK_TLS12_KEY_MAT_PARAMS_PTR; 1712 1713 typedef struct CK_TLS_MAC_PARAMS { 1714 CK_MECHANISM_TYPE prfMechanism; 1715 CK_ULONG ulMacLength; 1716 CK_ULONG ulServerOrClient; 1717 } CK_TLS_MAC_PARAMS; 1718 1719 typedef CK_TLS_MAC_PARAMS CK_PTR CK_TLS_MAC_PARAMS_PTR; 1720 1721 #endif |