Lines Matching refs:mac
68 unsigned char *mac, unsigned int *maclen)
81 salt = p12->mac->salt->data;
82 saltlen = p12->mac->salt->length;
83 if (!p12->mac->iter) iter = 1;
84 else iter = ASN1_INTEGER_get (p12->mac->iter);
86 EVP_get_digestbyobj (p12->mac->dinfo->algor->algorithm))) {
99 HMAC_Final(&hmac, mac, maclen);
104 /* Verify the mac */
107 unsigned char mac[EVP_MAX_MD_SIZE];
109 if(p12->mac == NULL) {
113 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
117 if ((maclen != (unsigned int)p12->mac->dinfo->digest->length)
118 || memcmp (mac, p12->mac->dinfo->digest->data, maclen)) return 0;
122 /* Set a mac */
127 unsigned char mac[EVP_MAX_MD_SIZE];
136 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
140 if (!(M_ASN1_OCTET_STRING_set (p12->mac->dinfo->digest, mac, maclen))) {
147 /* Set up a mac structure */
151 if (!(p12->mac = PKCS12_MAC_DATA_new())) return PKCS12_ERROR;
153 if(!(p12->mac->iter = M_ASN1_INTEGER_new())) {
157 if (!ASN1_INTEGER_set(p12->mac->iter, iter)) {
163 p12->mac->salt->length = saltlen;
164 if (!(p12->mac->salt->data = OPENSSL_malloc (saltlen))) {
169 if (RAND_pseudo_bytes (p12->mac->salt->data, saltlen) < 0)
172 else memcpy (p12->mac->salt->data, salt, saltlen);
173 p12->mac->dinfo->algor->algorithm = OBJ_nid2obj(EVP_MD_type(md_type));
174 if (!(p12->mac->dinfo->algor->parameter = ASN1_TYPE_new())) {
178 p12->mac->dinfo->algor->parameter->type = V_ASN1_NULL;