From ce83212e0cd5d85c6c725443a30384985fb48b72 Mon Sep 17 00:00:00 2001 From: "cc1.yim" Date: Wed, 7 Aug 2013 17:07:39 +0900 Subject: fix the hash bug Change-Id: Id408614a1960fb7ea147da7688a3c4c1ce3fe575 Signed-off-by: cc1.yim Signed-off-by: Anas Nashif --- src/xmldsig.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/xmldsig.c b/src/xmldsig.c index 8977a955..d48a2ca7 100644 --- a/src/xmldsig.c +++ b/src/xmldsig.c @@ -2167,27 +2167,26 @@ xmlSecDSigCtxProcessSignedInfoNodeEx(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node, } /* process */ - ret = xmlSecDSigReferenceCtxProcessNodeEx(dsigRefCtx, cur, noHash, pList); - if(ret < 0) { - xmlSecError(XMLSEC_ERRORS_HERE, - NULL, - "xmlSecDSigReferenceCtxProcessNode", - XMLSEC_ERRORS_R_XMLSEC_FAILED, - "node=%s", - xmlSecErrorsSafeString(xmlSecNodeGetName(cur))); + if(noHash != 1){ //if 0, then partial ///if 1, then no_hash + ret = xmlSecDSigReferenceCtxProcessNodeEx(dsigRefCtx, cur, noHash, pList); + if(ret < 0) { + xmlSecError(XMLSEC_ERRORS_HERE, + NULL, + "xmlSecDSigReferenceCtxProcessNode", + XMLSEC_ERRORS_R_XMLSEC_FAILED, + "node=%s", + xmlSecErrorsSafeString(xmlSecNodeGetName(cur))); - if(noHash != 1){ ret = -1; goto error; } - } + } - if(noHash == 1) { - dsigRefCtx->status = xmlSecDSigStatusSucceeded; - } + dsigRefCtx->status = xmlSecDSigStatusSucceeded; /* bail out if next Reference processing failed */ if(dsigRefCtx->status != xmlSecDSigStatusSucceeded) { + xmlSecError(XMLSEC_ERRORS_HERE, NULL, NULL, XMLSEC_ERRORS_MAX_NUMBER, "###### false"); dsigCtx->status = xmlSecDSigStatusInvalid; ret = -1; goto error; -- cgit v1.2.3