case CALG_SHA:
A_SHAInit(&pHashContext->sha);
break;
+
+ case CALG_SHA_256:
+ SHA256_Init(&pHashContext->sha256);
+ break;
+
+ case CALG_SHA_384:
+ SHA384_Init(&pHashContext->sha384);
+ break;
+
+ case CALG_SHA_512:
+ SHA512_Init(&pHashContext->sha512);
+ break;
}
return TRUE;
A_SHAUpdate(&pHashContext->sha, pbData, dwDataLen);
break;
+ case CALG_SHA_256:
+ SHA256_Update(&pHashContext->sha256, pbData, dwDataLen);
+ break;
+
+ case CALG_SHA_384:
+ SHA384_Update(&pHashContext->sha384, pbData, dwDataLen);
+ break;
+
+ case CALG_SHA_512:
+ SHA512_Update(&pHashContext->sha512, pbData, dwDataLen);
+ break;
+
default:
SetLastError(NTE_BAD_ALGID);
return FALSE;
A_SHAFinal(&pHashContext->sha, (PULONG)pbHashValue);
break;
+ case CALG_SHA_256:
+ SHA256_Final(pbHashValue, &pHashContext->sha256);
+ break;
+
+ case CALG_SHA_384:
+ SHA384_Final(pbHashValue, &pHashContext->sha384);
+ break;
+
+ case CALG_SHA_512:
+ SHA512_Final(pbHashValue, &pHashContext->sha512);
+ break;
+
default:
SetLastError(NTE_BAD_ALGID);
return FALSE;
case CALG_RSA_KEYX:
case CALG_RSA_SIGN:
+ case CALG_SSL3_SHAMD5:
outlen = inlen = (mp_count_bits(&pKeyContext->rsa.N)+7)/8;
if (enc) {
if (rsa_exptmod(in, inlen, out, &outlen, dwKeySpec, &pKeyContext->rsa) != CRYPT_OK) {