Lines Matching refs:p12
67 int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, in PKCS12_gen_mac() argument
76 if (!PKCS7_type_is_data(p12->authsafes)) in PKCS12_gen_mac()
82 salt = p12->mac->salt->data; in PKCS12_gen_mac()
83 saltlen = p12->mac->salt->length; in PKCS12_gen_mac()
84 if (!p12->mac->iter) iter = 1; in PKCS12_gen_mac()
85 else iter = ASN1_INTEGER_get (p12->mac->iter); in PKCS12_gen_mac()
87 EVP_get_digestbyobj (p12->mac->dinfo->algor->algorithm))) { in PKCS12_gen_mac()
101 || !HMAC_Update(&hmac, p12->authsafes->d.data->data, in PKCS12_gen_mac()
102 p12->authsafes->d.data->length) in PKCS12_gen_mac()
113 int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen) in PKCS12_verify_mac() argument
117 if(p12->mac == NULL) { in PKCS12_verify_mac()
121 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) { in PKCS12_verify_mac()
125 if ((maclen != (unsigned int)p12->mac->dinfo->digest->length) in PKCS12_verify_mac()
126 || memcmp (mac, p12->mac->dinfo->digest->data, maclen)) return 0; in PKCS12_verify_mac()
132 int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, in PKCS12_set_mac() argument
139 if (PKCS12_setup_mac (p12, iter, salt, saltlen, md_type) == in PKCS12_set_mac()
144 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) { in PKCS12_set_mac()
148 if (!(M_ASN1_OCTET_STRING_set (p12->mac->dinfo->digest, mac, maclen))) { in PKCS12_set_mac()
156 int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int saltlen, in PKCS12_setup_mac() argument
159 if (!(p12->mac = PKCS12_MAC_DATA_new())) return PKCS12_ERROR; in PKCS12_setup_mac()
161 if(!(p12->mac->iter = M_ASN1_INTEGER_new())) { in PKCS12_setup_mac()
165 if (!ASN1_INTEGER_set(p12->mac->iter, iter)) { in PKCS12_setup_mac()
171 p12->mac->salt->length = saltlen; in PKCS12_setup_mac()
172 if (!(p12->mac->salt->data = OPENSSL_malloc (saltlen))) { in PKCS12_setup_mac()
177 if (RAND_pseudo_bytes (p12->mac->salt->data, saltlen) < 0) in PKCS12_setup_mac()
180 else memcpy (p12->mac->salt->data, salt, saltlen); in PKCS12_setup_mac()
181 p12->mac->dinfo->algor->algorithm = OBJ_nid2obj(EVP_MD_type(md_type)); in PKCS12_setup_mac()
182 if (!(p12->mac->dinfo->algor->parameter = ASN1_TYPE_new())) { in PKCS12_setup_mac()
186 p12->mac->dinfo->algor->parameter->type = V_ASN1_NULL; in PKCS12_setup_mac()