in ports/mbedTLS/azure_iot_jws_mbedtls.c [427:470]
static AzureIoTResult_t prvFindManifestSHA( AzureIoTJSONReader_t * pxPayload,
az_span * pxSHA )
{
AzureIoTResult_t xResult = eAzureIoTSuccess;
AzureIoTJSONTokenType_t xJSONTokenType;
/*Begin object */
azureiotresultRETURN_IF_FAILED( AzureIoTJSONReader_NextToken( pxPayload ) );
/*Property Name */
azureiotresultRETURN_IF_FAILED( AzureIoTJSONReader_NextToken( pxPayload ) );
while( xResult == eAzureIoTSuccess )
{
if( AzureIoTJSONReader_TokenIsTextEqual( pxPayload, jws_sha256_json_value, sizeof( jws_sha256_json_value ) - 1 ) )
{
azureiotresultRETURN_IF_FAILED( AzureIoTJSONReader_NextToken( pxPayload ) );
break;
}
else
{
azureiotresultRETURN_IF_FAILED( AzureIoTJSONReader_NextToken( pxPayload ) );
azureiotresultRETURN_IF_FAILED( AzureIoTJSONReader_SkipChildren( pxPayload ) );
xResult = AzureIoTJSONReader_NextToken( pxPayload );
}
}
if( xResult != eAzureIoTSuccess )
{
AZLogError( ( "[JWS] Parse manifest SHA error: 0x%08x", xResult ) );
return xResult;
}
azureiotresultRETURN_IF_FAILED( AzureIoTJSONReader_TokenType( pxPayload, &xJSONTokenType ) );
if( xJSONTokenType != eAzureIoTJSONTokenSTRING )
{
AZLogError( ( "[JWS] JSON token type wrong | type: %08x", xJSONTokenType ) );
return eAzureIoTErrorFailed;
}
*pxSHA = pxPayload->_internal.xCoreReader.token.slice;
return eAzureIoTSuccess;
}