Replace last SHA1_ with EVP_ replacement
This commit is contained in:
		| @@ -4606,6 +4606,7 @@ _krb5_pk_kdf(krb5_context context, | |||||||
|     uint32_t counter; |     uint32_t counter; | ||||||
|     unsigned char *keydata; |     unsigned char *keydata; | ||||||
|     unsigned char shaoutput[SHA_DIGEST_LENGTH]; |     unsigned char shaoutput[SHA_DIGEST_LENGTH]; | ||||||
|  |     EVP_MD_CTX *m; | ||||||
|  |  | ||||||
|     if (der_heim_oid_cmp(&asn1_oid_id_pkinit_kdf_ah_sha1, &ai->algorithm) != 0) { |     if (der_heim_oid_cmp(&asn1_oid_id_pkinit_kdf_ah_sha1, &ai->algorithm) != 0) { | ||||||
| 	krb5_set_error_message(context, KRB5_PROG_ETYPE_NOSUPP, | 	krb5_set_error_message(context, KRB5_PROG_ETYPE_NOSUPP, | ||||||
| @@ -4644,18 +4645,26 @@ _krb5_pk_kdf(krb5_context context, | |||||||
| 	return ret; | 	return ret; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     m = EVP_MD_CTX_create(); | ||||||
|  |     if (m == NULL) { | ||||||
|  | 	free(keydata); | ||||||
|  | 	free(other.data); | ||||||
|  | 	krb5_set_error_message(context, ENOMEM, N_("malloc: out of memory", "")); | ||||||
|  | 	return ENOMEM; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     offset = 0; |     offset = 0; | ||||||
|     counter = 1; |     counter = 1; | ||||||
|     do { |     do { | ||||||
| 	unsigned char cdata[4]; | 	unsigned char cdata[4]; | ||||||
| 	SHA_CTX m; |  | ||||||
| 	 | 	 | ||||||
| 	SHA1_Init(&m); | 	EVP_DigestInit_ex(m, EVP_sha1(), NULL); | ||||||
| 	_krb5_put_int(cdata, counter, 4); | 	_krb5_put_int(cdata, counter, 4); | ||||||
| 	SHA1_Update(&m, cdata, 4); | 	EVP_DigestUpdate(m, cdata, 4); | ||||||
| 	SHA1_Update(&m, dhdata, dhsize); | 	EVP_DigestUpdate(m, dhdata, dhsize); | ||||||
| 	SHA1_Update(&m, other.data, other.length); | 	EVP_DigestUpdate(m, other.data, other.length); | ||||||
| 	SHA1_Final(shaoutput, &m); |  | ||||||
|  | 	EVP_DigestFinal_ex(m, shaoutput, NULL); | ||||||
|  |  | ||||||
| 	memcpy((unsigned char *)keydata + offset, | 	memcpy((unsigned char *)keydata + offset, | ||||||
| 	       shaoutput, | 	       shaoutput, | ||||||
| @@ -4666,6 +4675,7 @@ _krb5_pk_kdf(krb5_context context, | |||||||
|     } while(offset < keylen); |     } while(offset < keylen); | ||||||
|     memset(shaoutput, 0, sizeof(shaoutput)); |     memset(shaoutput, 0, sizeof(shaoutput)); | ||||||
|  |  | ||||||
|  |     EVP_MD_CTX_destroy(m); | ||||||
|     free(other.data); |     free(other.data); | ||||||
|  |  | ||||||
|     ret = krb5_random_to_key(context, enctype, keydata, keylen, key); |     ret = krb5_random_to_key(context, enctype, keydata, keylen, key); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Love Hornquist Astrand
					Love Hornquist Astrand