140 static crypto_mech_name_t blowfish_mechs[] = {
141 "CKM_BLOWFISH_ECB", "CKM_BLOWFISH_CBC", ""};
142 static crypto_mech_name_t ecc_mechs[] = {
143 "CKM_EC_KEY_PAIR_GEN", "CKM_ECDH1_DERIVE", "CKM_ECDSA",
144 "CKM_ECDSA_SHA1", ""};
145 static crypto_mech_name_t sha1_mechs[] = {
146 "CKM_SHA_1", "CKM_SHA_1_HMAC_GENERAL", "CKM_SHA_1_HMAC", ""};
147 static crypto_mech_name_t sha2_mechs[] = {
148 "CKM_SHA256", "CKM_SHA256_HMAC", "CKM_SHA256_HMAC_GENERAL",
149 "CKM_SHA384", "CKM_SHA384_HMAC", "CKM_SHA384_HMAC_GENERAL",
150 "CKM_SHA512", "CKM_SHA512_HMAC", "CKM_SHA512_HMAC_GENERAL", ""};
151 static crypto_mech_name_t md4_mechs[] = {
152 "CKM_MD4", ""};
153 static crypto_mech_name_t md5_mechs[] = {
154 "CKM_MD5", "CKM_MD5_HMAC_GENERAL", "CKM_MD5_HMAC", ""};
155 static crypto_mech_name_t rsa_mechs[] = {
156 "CKM_RSA_PKCS", "CKM_RSA_X_509", "CKM_MD5_RSA_PKCS",
157 "CKM_SHA1_RSA_PKCS", "CKM_SHA256_RSA_PKCS", "CKM_SHA384_RSA_PKCS",
158 "CKM_SHA512_RSA_PKCS", ""};
159 static crypto_mech_name_t swrand_mechs[] = {
160 "random", NULL};
161 static initial_soft_config_entry_t
162 initial_soft_config_entry[] = {
163 "des", des_mechs,
164 "aes", aes_mechs,
165 "arcfour", arcfour_mechs,
166 "blowfish", blowfish_mechs,
167 "ecc", ecc_mechs,
168 "sha1", sha1_mechs,
169 "sha2", sha2_mechs,
170 "md4", md4_mechs,
171 "md5", md5_mechs,
172 "rsa", rsa_mechs,
173 "swrand", swrand_mechs
174 };
175 const int initial_soft_config_entries =
176 sizeof (initial_soft_config_entry)
177 / sizeof (initial_soft_config_entry_t);
178 int i;
179
180 mutex_init(&soft_config_mutex, NULL, MUTEX_DRIVER, NULL);
181
182 /*
183 * Initialize soft_config_list with default providers.
184 * Populate the linked list backwards so the first entry appears first.
185 */
186 for (i = initial_soft_config_entries - 1; i >= 0; --i) {
187 initial_soft_config_entry_t *p = &initial_soft_config_entry[i];
188 crypto_mech_name_t *mechsp;
189 uint_t alloc_size;
190 int mech_count, r;
191
192 /* allocate/initialize memory for mechanism list */
193 mech_count = count_mechanisms(p->mechs);
|
140 static crypto_mech_name_t blowfish_mechs[] = {
141 "CKM_BLOWFISH_ECB", "CKM_BLOWFISH_CBC", ""};
142 static crypto_mech_name_t ecc_mechs[] = {
143 "CKM_EC_KEY_PAIR_GEN", "CKM_ECDH1_DERIVE", "CKM_ECDSA",
144 "CKM_ECDSA_SHA1", ""};
145 static crypto_mech_name_t sha1_mechs[] = {
146 "CKM_SHA_1", "CKM_SHA_1_HMAC_GENERAL", "CKM_SHA_1_HMAC", ""};
147 static crypto_mech_name_t sha2_mechs[] = {
148 "CKM_SHA256", "CKM_SHA256_HMAC", "CKM_SHA256_HMAC_GENERAL",
149 "CKM_SHA384", "CKM_SHA384_HMAC", "CKM_SHA384_HMAC_GENERAL",
150 "CKM_SHA512", "CKM_SHA512_HMAC", "CKM_SHA512_HMAC_GENERAL", ""};
151 static crypto_mech_name_t md4_mechs[] = {
152 "CKM_MD4", ""};
153 static crypto_mech_name_t md5_mechs[] = {
154 "CKM_MD5", "CKM_MD5_HMAC_GENERAL", "CKM_MD5_HMAC", ""};
155 static crypto_mech_name_t rsa_mechs[] = {
156 "CKM_RSA_PKCS", "CKM_RSA_X_509", "CKM_MD5_RSA_PKCS",
157 "CKM_SHA1_RSA_PKCS", "CKM_SHA256_RSA_PKCS", "CKM_SHA384_RSA_PKCS",
158 "CKM_SHA512_RSA_PKCS", ""};
159 static crypto_mech_name_t swrand_mechs[] = {
160 "random", ""};
161 static initial_soft_config_entry_t
162 initial_soft_config_entry[] = {
163 { "des", des_mechs },
164 { "aes", aes_mechs },
165 { "arcfour", arcfour_mechs },
166 { "blowfish", blowfish_mechs },
167 { "ecc", ecc_mechs },
168 { "sha1", sha1_mechs },
169 { "sha2", sha2_mechs },
170 { "md4", md4_mechs },
171 { "md5", md5_mechs },
172 { "rsa", rsa_mechs },
173 { "swrand", swrand_mechs }
174 };
175 const int initial_soft_config_entries =
176 sizeof (initial_soft_config_entry)
177 / sizeof (initial_soft_config_entry_t);
178 int i;
179
180 mutex_init(&soft_config_mutex, NULL, MUTEX_DRIVER, NULL);
181
182 /*
183 * Initialize soft_config_list with default providers.
184 * Populate the linked list backwards so the first entry appears first.
185 */
186 for (i = initial_soft_config_entries - 1; i >= 0; --i) {
187 initial_soft_config_entry_t *p = &initial_soft_config_entry[i];
188 crypto_mech_name_t *mechsp;
189 uint_t alloc_size;
190 int mech_count, r;
191
192 /* allocate/initialize memory for mechanism list */
193 mech_count = count_mechanisms(p->mechs);
|