From 1368ae1fb1f2932de1943208a62e01e714bd78d2 Mon Sep 17 00:00:00 2001 From: toddouska Date: Mon, 31 Aug 2015 13:51:52 -0700 Subject: [PATCH] add SHA512 signature creation --- wolfcrypt/src/asn.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 0946c6da8..ef8b6730c 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -5985,7 +5985,7 @@ static int MakeSignature(const byte* buffer, int sz, byte* sig, int sigSz, int sigAlgoType) { int encSigSz, digestSz, typeH = 0, ret = 0; - byte digest[SHA256_DIGEST_SIZE]; /* max size */ + byte digest[MAX_DIGEST_SIZE]; /* max size */ #ifdef WOLFSSL_SMALL_STACK byte* encSig; #else @@ -6032,6 +6032,15 @@ static int MakeSignature(const byte* buffer, int sz, byte* sig, int sigSz, digestSz = SHA256_DIGEST_SIZE; } break; + #endif + #ifdef WOLFSSL_SHA512 + case CTC_SHA512wRSA: + case CTC_SHA512wECDSA: + if ((ret = wc_Sha512Hash(buffer, sz, digest)) == 0) { + typeH = SHA256h; + digestSz = SHA256_DIGEST_SIZE; + } + break; #endif default: WOLFSSL_MSG("MakeSignautre called with unsupported type");