21 * this permission notice appear in supporting documentation, and that
22 * the name of FundsXpress. not be used in advertising or publicity pertaining
23 * to distribution of the software without specific, written prior
24 * permission. FundsXpress makes no representations about the suitability of
25 * this software for any purpose. It is provided "as is" without express
26 * or implied warranty.
27 *
28 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
29 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
30 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
31 */
32
33 #include "k5-int.h"
34 #include "hash_provider.h"
35 #include "keyhash_provider.h"
36 #include "cksumtypes.h"
37
38 const struct krb5_cksumtypes krb5_cksumtypes_list[] = {
39 { CKSUMTYPE_CRC32, KRB5_CKSUMFLAG_NOT_COLL_PROOF,
40 "crc32", "CRC-32",
41 NULL, NULL, &krb5int_hash_crc32, 0,
42 #ifdef _KERNEL
43 NULL,
44 CRYPTO_MECH_INVALID
45 #endif /* _KERNEL */
46 },
47
48 { CKSUMTYPE_DESCBC, 0,
49 "des-cbc", "DES cbc mode",
50 ENCTYPE_DES_CBC_CRC, &krb5int_keyhash_descbc,
51 NULL, NULL,
52 #ifdef _KERNEL
53 NULL,
54 CRYPTO_MECH_INVALID
55 #endif /* _KERNEL */
56 },
57
58 { CKSUMTYPE_RSA_MD5, 0,
59 "md5", "RSA-MD5",
60 NULL, NULL, &krb5int_hash_md5, 0,
61 #ifdef _KERNEL
62 SUN_CKM_MD5,
63 CRYPTO_MECH_INVALID
64 #endif /* _KERNEL */
65 },
66 { CKSUMTYPE_RSA_MD5_DES, 0,
67 "md5-des", "RSA-MD5 with DES cbc mode",
68 ENCTYPE_DES_CBC_CRC, &krb5int_keyhash_md5des,
69 NULL, NULL,
70 #ifdef _KERNEL
71 SUN_CKM_MD5,
72 CRYPTO_MECH_INVALID
73 #endif /* _KERNEL */
74 },
75
76 { CKSUMTYPE_NIST_SHA, 0,
77 "sha", "NIST-SHA",
78 NULL, NULL, &krb5int_hash_sha1, 0,
79 #ifdef _KERNEL
80 SUN_CKM_SHA1,
81 CRYPTO_MECH_INVALID
82 #endif /* _KERNEL */
83 },
84
85 { CKSUMTYPE_HMAC_SHA1_DES3, KRB5_CKSUMFLAG_DERIVE,
86 "hmac-sha1-des3", "HMAC-SHA1 DES3 key",
87 NULL, NULL, &krb5int_hash_sha1, 0,
88 #ifdef _KERNEL
89 SUN_CKM_SHA1_HMAC,
90 CRYPTO_MECH_INVALID
91 #endif /* _KERNEL */
92 },
93 { CKSUMTYPE_HMAC_SHA1_DES3, KRB5_CKSUMFLAG_DERIVE,
94 "hmac-sha1-des3-kd", "HMAC-SHA1 DES3 key", /* alias */
95 NULL, NULL, &krb5int_hash_sha1, 0,
96 #ifdef _KERNEL
97 SUN_CKM_SHA1_HMAC,
98 CRYPTO_MECH_INVALID
99 #endif /* _KERNEL */
100 },
101 { CKSUMTYPE_HMAC_MD5_ARCFOUR, 0,
102 "hmac-md5-rc4", "Microsoft HMAC MD5 (RC4 key)",
103 ENCTYPE_ARCFOUR_HMAC, &krb5int_keyhash_hmac_md5,
104 NULL, 0,
105 #ifdef _KERNEL
106 SUN_CKM_MD5,
107 CRYPTO_MECH_INVALID
108 #endif /* _KERNEL */
109 },
110 { CKSUMTYPE_HMAC_MD5_ARCFOUR, 0,
111 "hmac-md5-enc", "Microsoft HMAC MD5 (RC4 key)", /*Heimdal alias*/
112 ENCTYPE_ARCFOUR_HMAC, &krb5int_keyhash_hmac_md5,
113 NULL, 0,
114 #ifdef _KERNEL
115 SUN_CKM_MD5,
116 CRYPTO_MECH_INVALID
117 #endif /* _KERNEL */
118 },
119 { CKSUMTYPE_HMAC_MD5_ARCFOUR, 0,
120 "hmac-md5-earcfour", "Microsoft HMAC MD5 (RC4 key)", /* alias*/
121 ENCTYPE_ARCFOUR_HMAC, &krb5int_keyhash_hmac_md5,
122 NULL, 0,
123 #ifdef _KERNEL
124 SUN_CKM_MD5,
125 CRYPTO_MECH_INVALID
126 #endif /* _KERNEL */
127 },
128
129 { CKSUMTYPE_HMAC_SHA1_96_AES128, KRB5_CKSUMFLAG_DERIVE,
130 "hmac-sha1-96-aes128", "HMAC-SHA1 AES128 key",
131 NULL, NULL, &krb5int_hash_sha1, 12,
132 #ifdef _KERNEL
133 SUN_CKM_SHA1_HMAC,
134 CRYPTO_MECH_INVALID
135 #endif /* _KERNEL */
136 },
137 { CKSUMTYPE_HMAC_SHA1_96_AES256, KRB5_CKSUMFLAG_DERIVE,
138 "hmac-sha1-96-aes256", "HMAC-SHA1 AES256 key",
139 0, NULL, &krb5int_hash_sha1, 12,
140 #ifdef _KERNEL
141 SUN_CKM_SHA1_HMAC,
142 CRYPTO_MECH_INVALID
143 #endif /* _KERNEL */
144 }
145
146 };
147
148 const int krb5_cksumtypes_length =
149 sizeof(krb5_cksumtypes_list)/sizeof(struct krb5_cksumtypes);
150
151 /* Solaris Kerberos */
|
21 * this permission notice appear in supporting documentation, and that
22 * the name of FundsXpress. not be used in advertising or publicity pertaining
23 * to distribution of the software without specific, written prior
24 * permission. FundsXpress makes no representations about the suitability of
25 * this software for any purpose. It is provided "as is" without express
26 * or implied warranty.
27 *
28 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
29 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
30 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
31 */
32
33 #include "k5-int.h"
34 #include "hash_provider.h"
35 #include "keyhash_provider.h"
36 #include "cksumtypes.h"
37
38 const struct krb5_cksumtypes krb5_cksumtypes_list[] = {
39 { CKSUMTYPE_CRC32, KRB5_CKSUMFLAG_NOT_COLL_PROOF,
40 "crc32", "CRC-32",
41 0, NULL, &krb5int_hash_crc32, 0,
42 #ifdef _KERNEL
43 NULL,
44 CRYPTO_MECH_INVALID
45 #endif /* _KERNEL */
46 },
47
48 { CKSUMTYPE_DESCBC, 0,
49 "des-cbc", "DES cbc mode",
50 ENCTYPE_DES_CBC_CRC, &krb5int_keyhash_descbc,
51 NULL, 0,
52 #ifdef _KERNEL
53 NULL,
54 CRYPTO_MECH_INVALID
55 #endif /* _KERNEL */
56 },
57
58 { CKSUMTYPE_RSA_MD5, 0,
59 "md5", "RSA-MD5",
60 0, NULL, &krb5int_hash_md5, 0,
61 #ifdef _KERNEL
62 SUN_CKM_MD5,
63 CRYPTO_MECH_INVALID
64 #endif /* _KERNEL */
65 },
66 { CKSUMTYPE_RSA_MD5_DES, 0,
67 "md5-des", "RSA-MD5 with DES cbc mode",
68 ENCTYPE_DES_CBC_CRC, &krb5int_keyhash_md5des,
69 NULL, 0,
70 #ifdef _KERNEL
71 SUN_CKM_MD5,
72 CRYPTO_MECH_INVALID
73 #endif /* _KERNEL */
74 },
75
76 { CKSUMTYPE_NIST_SHA, 0,
77 "sha", "NIST-SHA",
78 0, NULL, &krb5int_hash_sha1, 0,
79 #ifdef _KERNEL
80 SUN_CKM_SHA1,
81 CRYPTO_MECH_INVALID
82 #endif /* _KERNEL */
83 },
84
85 { CKSUMTYPE_HMAC_SHA1_DES3, KRB5_CKSUMFLAG_DERIVE,
86 "hmac-sha1-des3", "HMAC-SHA1 DES3 key",
87 0, NULL, &krb5int_hash_sha1, 0,
88 #ifdef _KERNEL
89 SUN_CKM_SHA1_HMAC,
90 CRYPTO_MECH_INVALID
91 #endif /* _KERNEL */
92 },
93 { CKSUMTYPE_HMAC_SHA1_DES3, KRB5_CKSUMFLAG_DERIVE,
94 "hmac-sha1-des3-kd", "HMAC-SHA1 DES3 key", /* alias */
95 0, NULL, &krb5int_hash_sha1, 0,
96 #ifdef _KERNEL
97 SUN_CKM_SHA1_HMAC,
98 CRYPTO_MECH_INVALID
99 #endif /* _KERNEL */
100 },
101 { CKSUMTYPE_HMAC_MD5_ARCFOUR, 0,
102 "hmac-md5-rc4", "Microsoft HMAC MD5 (RC4 key)",
103 ENCTYPE_ARCFOUR_HMAC, &krb5int_keyhash_hmac_md5,
104 NULL, 0,
105 #ifdef _KERNEL
106 SUN_CKM_MD5,
107 CRYPTO_MECH_INVALID
108 #endif /* _KERNEL */
109 },
110 { CKSUMTYPE_HMAC_MD5_ARCFOUR, 0,
111 "hmac-md5-enc", "Microsoft HMAC MD5 (RC4 key)", /*Heimdal alias*/
112 ENCTYPE_ARCFOUR_HMAC, &krb5int_keyhash_hmac_md5,
113 NULL, 0,
114 #ifdef _KERNEL
115 SUN_CKM_MD5,
116 CRYPTO_MECH_INVALID
117 #endif /* _KERNEL */
118 },
119 { CKSUMTYPE_HMAC_MD5_ARCFOUR, 0,
120 "hmac-md5-earcfour", "Microsoft HMAC MD5 (RC4 key)", /* alias*/
121 ENCTYPE_ARCFOUR_HMAC, &krb5int_keyhash_hmac_md5,
122 NULL, 0,
123 #ifdef _KERNEL
124 SUN_CKM_MD5,
125 CRYPTO_MECH_INVALID
126 #endif /* _KERNEL */
127 },
128
129 { CKSUMTYPE_HMAC_SHA1_96_AES128, KRB5_CKSUMFLAG_DERIVE,
130 "hmac-sha1-96-aes128", "HMAC-SHA1 AES128 key",
131 0, NULL, &krb5int_hash_sha1, 12,
132 #ifdef _KERNEL
133 SUN_CKM_SHA1_HMAC,
134 CRYPTO_MECH_INVALID
135 #endif /* _KERNEL */
136 },
137 { CKSUMTYPE_HMAC_SHA1_96_AES256, KRB5_CKSUMFLAG_DERIVE,
138 "hmac-sha1-96-aes256", "HMAC-SHA1 AES256 key",
139 0, NULL, &krb5int_hash_sha1, 12,
140 #ifdef _KERNEL
141 SUN_CKM_SHA1_HMAC,
142 CRYPTO_MECH_INVALID
143 #endif /* _KERNEL */
144 }
145
146 };
147
148 const int krb5_cksumtypes_length =
149 sizeof(krb5_cksumtypes_list)/sizeof(struct krb5_cksumtypes);
150
151 /* Solaris Kerberos */
|