diff options
author | Nikias Bassen | 2023-07-04 17:14:27 +0200 |
---|---|---|
committer | Nikias Bassen | 2023-07-04 17:14:27 +0200 |
commit | 474fd9284b76d8ddd3a3aec41cbca3cc48271cc1 (patch) | |
tree | 58fcb909dff8cee2d2121d17bf0643fad6a8e766 /3rd_party/libsrp6a-sha512/t_sha.c | |
parent | 52ab7b76f76ee0464fd150ec881ce50fbf2dc001 (diff) | |
download | libimobiledevice-474fd9284b76d8ddd3a3aec41cbca3cc48271cc1.tar.gz libimobiledevice-474fd9284b76d8ddd3a3aec41cbca3cc48271cc1.tar.bz2 |
3rd_party/libsrp6a-sha512: Updated to work with OpenSSL 3.0+ API
Diffstat (limited to '3rd_party/libsrp6a-sha512/t_sha.c')
-rw-r--r-- | 3rd_party/libsrp6a-sha512/t_sha.c | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/3rd_party/libsrp6a-sha512/t_sha.c b/3rd_party/libsrp6a-sha512/t_sha.c index 4029de8..8e54cb6 100644 --- a/3rd_party/libsrp6a-sha512/t_sha.c +++ b/3rd_party/libsrp6a-sha512/t_sha.c @@ -107,6 +107,44 @@ SHA512Final_mbed(unsigned char digest[64], SHA512_CTX * ctx) mbedtls_md_free(ctx); } +#elif defined(OPENSSL_SHA) +#if OPENSSL_VERSION_NUMBER >= 0x30000000L +void +SHA1Init_openssl(SHA1_CTX *ctx) +{ + *ctx = EVP_MD_CTX_new(); + EVP_DigestInit(*ctx, EVP_sha1()); +} + +void SHA1Update_openssl(SHA1_CTX *ctx, const void *data, unsigned int len) +{ + EVP_DigestUpdate(*ctx, data, (size_t)len); +} + +void SHA1Final_openssl(unsigned char digest[20], SHA1_CTX *ctx) +{ + EVP_DigestFinal(*ctx, digest, NULL); + EVP_MD_CTX_destroy(*ctx); +} + +void +SHA512Init_openssl(SHA512_CTX *ctx) +{ + *ctx = EVP_MD_CTX_new(); + EVP_DigestInit(*ctx, EVP_sha512()); +} + +void SHA512Update_openssl(SHA512_CTX *ctx, const void *data, unsigned int len) +{ + EVP_DigestUpdate(*ctx, data, (size_t)len); +} + +void SHA512Final_openssl(unsigned char digest[64], SHA512_CTX *ctx) +{ + EVP_DigestFinal(*ctx, digest, NULL); + EVP_MD_CTX_destroy(*ctx); +} +#endif #elif !defined(OPENSSL_SHA) && !defined(TOMCRYPT_SHA) /* Use the free SHA1 if the library doesn't have it */ @@ -273,4 +311,4 @@ unsigned char finalcount[8]; SHA1Transform(context->state, context->buffer); #endif } -#endif /* OPENSSL */ +#endif |