Lines Matching refs:p12

24 int PKCS12_mac_present(const PKCS12 *p12)  in PKCS12_mac_present()  argument
26 return p12->mac ? 1 : 0; in PKCS12_mac_present()
33 const PKCS12 *p12) in PKCS12_get0_mac() argument
35 if (p12->mac) { in PKCS12_get0_mac()
36 X509_SIG_get0(p12->mac->dinfo, pmacalg, pmac); in PKCS12_get0_mac()
38 *psalt = p12->mac->salt; in PKCS12_get0_mac()
40 *piter = p12->mac->iter; in PKCS12_get0_mac()
76 static int pkcs12_gen_mac(PKCS12 *p12, const char *pass, int passlen, in pkcs12_gen_mac() argument
96 if (!PKCS7_type_is_data(p12->authsafes)) { in pkcs12_gen_mac()
101 salt = p12->mac->salt->data; in pkcs12_gen_mac()
102 saltlen = p12->mac->salt->length; in pkcs12_gen_mac()
103 if (p12->mac->iter == NULL) in pkcs12_gen_mac()
106 iter = ASN1_INTEGER_get(p12->mac->iter); in pkcs12_gen_mac()
107 X509_SIG_get0(p12->mac->dinfo, &macalg, NULL); in pkcs12_gen_mac()
111 md = md_fetch = EVP_MD_fetch(p12->authsafes->ctx.libctx, md_name, in pkcs12_gen_mac()
112 p12->authsafes->ctx.propq); in pkcs12_gen_mac()
145 p12->authsafes->ctx.libctx, in pkcs12_gen_mac()
146 p12->authsafes->ctx.propq)) { in pkcs12_gen_mac()
154 || !HMAC_Update(hmac, p12->authsafes->d.data->data, in pkcs12_gen_mac()
155 p12->authsafes->d.data->length) in pkcs12_gen_mac()
168 int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, in PKCS12_gen_mac() argument
171 return pkcs12_gen_mac(p12, pass, passlen, mac, maclen, NULL); in PKCS12_gen_mac()
175 int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen) in PKCS12_verify_mac() argument
181 if (p12->mac == NULL) { in PKCS12_verify_mac()
185 if (!pkcs12_gen_mac(p12, pass, passlen, mac, &maclen, NULL)) { in PKCS12_verify_mac()
189 X509_SIG_get0(p12->mac->dinfo, NULL, &macoct); in PKCS12_verify_mac()
199 int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, in PKCS12_set_mac() argument
212 if (PKCS12_setup_mac(p12, iter, salt, saltlen, md_type) == PKCS12_ERROR) { in PKCS12_set_mac()
219 if (!pkcs12_gen_mac(p12, pass, passlen, mac, &maclen, NULL)) { in PKCS12_set_mac()
223 X509_SIG_getm(p12->mac->dinfo, NULL, &macoct); in PKCS12_set_mac()
232 int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int saltlen, in PKCS12_setup_mac() argument
237 PKCS12_MAC_DATA_free(p12->mac); in PKCS12_setup_mac()
238 p12->mac = NULL; in PKCS12_setup_mac()
240 if ((p12->mac = PKCS12_MAC_DATA_new()) == NULL) in PKCS12_setup_mac()
243 if ((p12->mac->iter = ASN1_INTEGER_new()) == NULL) { in PKCS12_setup_mac()
247 if (!ASN1_INTEGER_set(p12->mac->iter, iter)) { in PKCS12_setup_mac()
256 if ((p12->mac->salt->data = OPENSSL_malloc(saltlen)) == NULL) { in PKCS12_setup_mac()
260 p12->mac->salt->length = saltlen; in PKCS12_setup_mac()
262 if (RAND_bytes_ex(p12->authsafes->ctx.libctx, p12->mac->salt->data, in PKCS12_setup_mac()
266 memcpy(p12->mac->salt->data, salt, saltlen); in PKCS12_setup_mac()
268 X509_SIG_getm(p12->mac->dinfo, &macalg, NULL); in PKCS12_setup_mac()