Home | History | Annotate | Download | only in pkcs12

Lines Matching refs:p12

67 int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
75 if (!PKCS7_type_is_data(p12->authsafes))
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))) {
97 HMAC_Update(&hmac, p12->authsafes->d.data->data,
98 p12->authsafes->d.data->length);
105 int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen)
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;
124 int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen,
131 if (PKCS12_setup_mac (p12, iter, salt, saltlen, md_type) ==
136 if (!PKCS12_gen_mac (p12, pass, passlen, mac, &maclen)) {
140 if (!(M_ASN1_OCTET_STRING_set (p12->mac->dinfo->digest, mac, maclen))) {
148 int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int saltlen,
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;