in source/sigv4.c [2247:2277]
static int32_t completeHash( const uint8_t * pInput,
size_t inputLen,
uint8_t * pOutput,
size_t outputLen,
const SigV4CryptoInterface_t * pCryptoInterface )
{
int32_t hashStatus = -1;
assert( pOutput != NULL );
assert( outputLen > 0 );
assert( pCryptoInterface != NULL );
assert( pCryptoInterface->hashInit != NULL );
assert( pCryptoInterface->hashUpdate != NULL );
assert( pCryptoInterface->hashFinal != NULL );
hashStatus = pCryptoInterface->hashInit( pCryptoInterface->pHashContext );
if( hashStatus == 0 )
{
hashStatus = pCryptoInterface->hashUpdate( pCryptoInterface->pHashContext,
pInput, inputLen );
}
if( hashStatus == 0 )
{
hashStatus = pCryptoInterface->hashFinal( pCryptoInterface->pHashContext,
pOutput, outputLen );
}
return hashStatus;
}