Home | History | Annotate | Download | only in pkcs12

Lines Matching refs:mac

66 /* Generate a MAC */
68 unsigned char *mac, unsigned int *maclen)
82 salt = p12->mac->salt->data;
83 saltlen = p12->mac->salt->length;
84 if (!p12->mac->iter) iter = 1;
85 else iter = ASN1_INTEGER_get (p12->mac->iter);
87 EVP_get_digestbyobj (p12->mac->dinfo->algor->algorithm))) {
103 HMAC_Final(&hmac, mac, maclen);
108 /* Verify the mac */
111 unsigned char mac[EVP_MAX_MD_SIZE];
113 if(p12->mac == NULL) {
117 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
121 if ((maclen != (unsigned int)p12->mac->dinfo->digest->length)
122 || memcmp (mac, p12->mac->dinfo->digest->data, maclen)) return 0;
126 /* Set a mac */
131 unsigned char mac[EVP_MAX_MD_SIZE];
140 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
144 if (!(M_ASN1_OCTET_STRING_set (p12->mac->dinfo->digest, mac, maclen))) {
151 /* Set up a mac structure */
155 if (!(p12->mac = PKCS12_MAC_DATA_new())) return PKCS12_ERROR;
157 if(!(p12->mac->iter = M_ASN1_INTEGER_new())) {
161 if (!ASN1_INTEGER_set(p12->mac->iter, iter)) {
167 p12->mac->salt->length = saltlen;
168 if (!(p12->mac->salt->data = OPENSSL_malloc (saltlen))) {
173 if (RAND_pseudo_bytes (p12->mac->salt->data, saltlen) < 0)
176 else memcpy (p12->mac->salt->data, salt, saltlen);
177 p12->mac->dinfo->algor->algorithm = OBJ_nid2obj(EVP_MD_type(md_type));
178 if (!(p12->mac->dinfo->algor->parameter = ASN1_TYPE_new())) {
182 p12->mac->dinfo->algor->parameter->type = V_ASN1_NULL;