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))
112 /* Verify the mac */
115 unsigned char mac[EVP_MAX_MD_SIZE];
117 if(p12->mac == NULL) {
121 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
125 if ((maclen != (unsigned int)p12->mac->dinfo->digest->length)
126 || memcmp (mac, p12->mac->dinfo->digest->data, maclen)) return 0;
130 /* Set a mac */
135 unsigned char mac[EVP_MAX_MD_SIZE];
144 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
148 if (!(M_ASN1_OCTET_STRING_set (p12->mac->dinfo->digest, mac, maclen))) {
155 /* Set up a mac structure */
159 if (!(p12->mac = PKCS12_MAC_DATA_new())) return PKCS12_ERROR;
161 if(!(p12->mac->iter = M_ASN1_INTEGER_new())) {
165 if (!ASN1_INTEGER_set(p12->mac->iter, iter)) {
171 p12->mac->salt->length = saltlen;
172 if (!(p12->mac->salt->data = OPENSSL_malloc (saltlen))) {
177 if (RAND_pseudo_bytes (p12->mac->salt->data, saltlen) < 0)
180 else memcpy (p12->mac->salt->data, salt, saltlen);
181 p12->mac->dinfo->algor->algorithm = OBJ_nid2obj(EVP_MD_type(md_type));
182 if (!(p12->mac->dinfo->algor->parameter = ASN1_TYPE_new())) {
186 p12->mac->dinfo->algor->parameter->type = V_ASN1_NULL;