Lines Matching defs:p12

69 int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
78 if (!PKCS7_type_is_data(p12->authsafes)) {
83 salt = p12->mac->salt->data;
84 saltlen = p12->mac->salt->length;
85 if (!p12->mac->iter)
88 iter = ASN1_INTEGER_get(p12->mac->iter);
89 if (!(md_type = EVP_get_digestbyobj(p12->mac->dinfo->algor->algorithm))) {
103 || !HMAC_Update(&hmac, p12->authsafes->d.data->data,
104 p12->authsafes->d.data->length)
114 int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen)
118 if (p12->mac == NULL) {
122 if (!PKCS12_gen_mac(p12, pass, passlen, mac, &maclen)) {
126 if ((maclen != (unsigned int)p12->mac->dinfo->digest->length)
127 || CRYPTO_memcmp(mac, p12->mac->dinfo->digest->data, maclen))
134 int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen,
143 if (PKCS12_setup_mac(p12, iter, salt, saltlen, md_type) == PKCS12_ERROR) {
147 if (!PKCS12_gen_mac(p12, pass, passlen, mac, &maclen)) {
151 if (!(M_ASN1_OCTET_STRING_set(p12->mac->dinfo->digest, mac, maclen))) {
159 int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int saltlen,
162 if (!(p12->mac = PKCS12_MAC_DATA_new()))
165 if (!(p12->mac->iter = M_ASN1_INTEGER_new())) {
169 if (!ASN1_INTEGER_set(p12->mac->iter, iter)) {
176 p12->mac->salt->length = saltlen;
177 if (!(p12->mac->salt->data = OPENSSL_malloc(saltlen))) {
182 if (RAND_pseudo_bytes(p12->mac->salt->data, saltlen) < 0)
185 memcpy(p12->mac->salt->data, salt, saltlen);
186 p12->mac->dinfo->algor->algorithm = OBJ_nid2obj(EVP_MD_type(md_type));
187 if (!(p12->mac->dinfo->algor->parameter = ASN1_TYPE_new())) {
191 p12->mac->dinfo->algor->parameter->type = V_ASN1_NULL;