diff options
author | Steve Holme <steve_holme@hotmail.com> | 2020-02-20 01:25:27 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2020-03-03 00:37:17 +0000 |
commit | 365f4ea53d1f52c6f7156f0115491c2f2e6fd23a (patch) | |
tree | 213e187648adff41ad187d7ce9b700e2e59b8e09 | |
parent | 256a29361f7a4c3d3e09fcb18fcdfce36f821bd3 (diff) | |
download | curl-365f4ea53d1f52c6f7156f0115491c2f2e6fd23a.tar.gz |
sha256: Added GNU TLS Nettle implementation
-rw-r--r-- | lib/sha256.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/lib/sha256.c b/lib/sha256.c index 656f9894a..aa2274117 100644 --- a/lib/sha256.c +++ b/lib/sha256.c @@ -38,9 +38,39 @@ #endif -#ifdef USE_OPENSSL_SHA256 +#if defined(USE_OPENSSL_SHA256) + /* When OpenSSL is available we use the SHA256-function from OpenSSL */ #include <openssl/sha.h> + +#elif defined(USE_GNUTLS_NETTLE) + +#include <nettle/sha.h> + +#include "curl_memory.h" + +/* The last #include file should be: */ +#include "memdebug.h" + +typedef struct sha256_ctx SHA256_CTX; + +static void SHA256_Init(SHA256_CTX *ctx) +{ + sha256_init(ctx); +} + +static void SHA256_Update(SHA256_CTX *ctx, + const unsigned char *data, + unsigned int length) +{ + sha256_update(ctx, length, data); +} + +static void SHA256_Final(unsigned char *digest, SHA256_CTX *ctx) +{ + sha256_digest(ctx, SHA256_DIGEST_SIZE, digest); +} + #else /* When no other crypto library is available we use this code segment */ |