Lines Matching defs:mac
70 unsigned char *mac, unsigned int *maclen)
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))) {
105 || !HMAC_Final(&hmac, mac, maclen)) {
113 /* Verify the mac */
116 unsigned char mac[EVP_MAX_MD_SIZE];
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))
132 /* Set a mac */
138 unsigned char mac[EVP_MAX_MD_SIZE];
147 if (!PKCS12_gen_mac(p12, pass, passlen, mac, &maclen)) {
151 if (!(M_ASN1_OCTET_STRING_set(p12->mac->dinfo->digest, mac, maclen))) {
158 /* Set up a mac structure */
162 PKCS12_MAC_DATA_free(p12->mac);
163 p12->mac = NULL;
165 if ((p12->mac = PKCS12_MAC_DATA_new()) == NULL)
168 if (!(p12->mac->iter = M_ASN1_INTEGER_new())) {
172 if (!ASN1_INTEGER_set(p12->mac->iter, iter)) {
179 if ((p12->mac->salt->data = OPENSSL_malloc(saltlen)) == NULL) {
183 p12->mac->salt->length = saltlen;
185 if (RAND_bytes(p12->mac->salt->data, saltlen) <= 0)
188 memcpy(p12->mac->salt->data, salt, saltlen);
189 p12->mac->dinfo->algor->algorithm = OBJ_nid2obj(EVP_MD_type(md_type));
190 if (!(p12->mac->dinfo->algor->parameter = ASN1_TYPE_new())) {
194 p12->mac->dinfo->algor->parameter->type = V_ASN1_NULL;