Lines Matching refs:params

90 static int pkcs5_get_params_pbes2(struct pkcs5_params *params, const u8 *pos,  in pkcs5_get_params_pbes2()  argument
172 hdr.length > sizeof(params->salt)) { in pkcs5_get_params_pbes2()
178 os_memcpy(params->salt, hdr.payload, hdr.length); in pkcs5_get_params_pbes2()
179 params->salt_len = hdr.length; in pkcs5_get_params_pbes2()
180 wpa_hexdump(MSG_DEBUG, "PKCS #5: salt", params->salt, params->salt_len); in pkcs5_get_params_pbes2()
188 params->iter_count = *hdr.payload; in pkcs5_get_params_pbes2()
190 params->iter_count = WPA_GET_BE16(hdr.payload); in pkcs5_get_params_pbes2()
192 params->iter_count = WPA_GET_BE32(hdr.payload); in pkcs5_get_params_pbes2()
200 params->iter_count); in pkcs5_get_params_pbes2()
201 if (params->iter_count == 0 || params->iter_count > 0xffff) { in pkcs5_get_params_pbes2()
203 params->iter_count); in pkcs5_get_params_pbes2()
233 params->enc_alg = PBES2_ENC_ALG_DES_EDE3_CBC; in pkcs5_get_params_pbes2()
253 os_memcpy(params->iv, hdr.payload, hdr.length); in pkcs5_get_params_pbes2()
254 params->iv_len = hdr.length; in pkcs5_get_params_pbes2()
255 wpa_hexdump(MSG_DEBUG, "PKCS #5: IV", params->iv, params->iv_len); in pkcs5_get_params_pbes2()
262 struct pkcs5_params *params) in pkcs5_get_params() argument
273 os_memset(params, 0, sizeof(*params)); in pkcs5_get_params()
283 params->alg = pkcs5_get_alg(&oid); in pkcs5_get_params()
284 if (params->alg == PKCS5_ALG_UNKNOWN) { in pkcs5_get_params()
290 if (params->alg == PKCS5_ALG_PBES2) in pkcs5_get_params()
291 return pkcs5_get_params_pbes2(params, pos, enc_alg_end); in pkcs5_get_params()
320 !asn1_is_octetstring(&hdr) || hdr.length > sizeof(params->salt)) { in pkcs5_get_params()
326 os_memcpy(params->salt, hdr.payload, hdr.length); in pkcs5_get_params()
327 params->salt_len = hdr.length; in pkcs5_get_params()
329 params->salt, params->salt_len); in pkcs5_get_params()
338 params->iter_count = *hdr.payload; in pkcs5_get_params()
340 params->iter_count = WPA_GET_BE16(hdr.payload); in pkcs5_get_params()
342 params->iter_count = WPA_GET_BE32(hdr.payload); in pkcs5_get_params()
350 params->iter_count); in pkcs5_get_params()
351 if (params->iter_count == 0 || params->iter_count > 0xffff) { in pkcs5_get_params()
353 "iterationCount=0x%x", params->iter_count); in pkcs5_get_params()
362 pkcs5_crypto_init_pbes2(struct pkcs5_params *params, const char *passwd) in pkcs5_crypto_init_pbes2() argument
366 if (params->enc_alg != PBES2_ENC_ALG_DES_EDE3_CBC || in pkcs5_crypto_init_pbes2()
367 params->iv_len != 8) in pkcs5_crypto_init_pbes2()
373 params->salt, params->salt_len); in pkcs5_crypto_init_pbes2()
375 params->iter_count); in pkcs5_crypto_init_pbes2()
376 if (pbkdf2_sha1(passwd, params->salt, params->salt_len, in pkcs5_crypto_init_pbes2()
377 params->iter_count, key, sizeof(key)) < 0) in pkcs5_crypto_init_pbes2()
380 wpa_hexdump(MSG_DEBUG, "PKCS #5: DES IV", params->iv, params->iv_len); in pkcs5_crypto_init_pbes2()
382 return crypto_cipher_init(CRYPTO_CIPHER_ALG_3DES, params->iv, in pkcs5_crypto_init_pbes2()
489 pkcs12_crypto_init_sha1(struct pkcs5_params *params, const char *passwd) in pkcs12_crypto_init_sha1() argument
497 if (params->alg != PKCS5_ALG_SHA1_3DES_CBC) in pkcs12_crypto_init_sha1()
510 if (pkcs12_key_gen(pw, pw_len, params->salt, params->salt_len, in pkcs12_crypto_init_sha1()
511 PKCS12_ID_ENC, params->iter_count, in pkcs12_crypto_init_sha1()
513 pkcs12_key_gen(pw, pw_len, params->salt, params->salt_len, in pkcs12_crypto_init_sha1()
514 PKCS12_ID_IV, params->iter_count, in pkcs12_crypto_init_sha1()
529 static struct crypto_cipher * pkcs5_crypto_init(struct pkcs5_params *params, in pkcs5_crypto_init() argument
537 if (params->alg == PKCS5_ALG_PBES2) in pkcs5_crypto_init()
538 return pkcs5_crypto_init_pbes2(params, passwd); in pkcs5_crypto_init()
540 if (params->alg == PKCS5_ALG_SHA1_3DES_CBC) in pkcs5_crypto_init()
541 return pkcs12_crypto_init_sha1(params, passwd); in pkcs5_crypto_init()
543 if (params->alg != PKCS5_ALG_MD5_DES_CBC) in pkcs5_crypto_init()
548 addr[1] = params->salt; in pkcs5_crypto_init()
549 len[1] = params->salt_len; in pkcs5_crypto_init()
554 for (i = 1; i < params->iter_count; i++) { in pkcs5_crypto_init()
572 struct pkcs5_params params; in pkcs5_decrypt() local
575 if (pkcs5_get_params(enc_alg, enc_alg_len, &params) < 0) { in pkcs5_decrypt()
580 ctx = pkcs5_crypto_init(&params, passwd); in pkcs5_decrypt()