You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by bl...@apache.org on 2004/02/09 11:55:51 UTC

cvs commit: xml-security/c/src/tools/templatesign templatesign.cpp

blautenb    2004/02/09 02:55:51

  Modified:    c/src/dsig DSIGSignature.cpp
               c/src/tools/templatesign templatesign.cpp
  Log:
  Patch for bugzilla #23512 (mismatch between template and key doesn't get caught by templatesign)
  
  Revision  Changes    Path
  1.30      +5 -1      xml-security/c/src/dsig/DSIGSignature.cpp
  
  Index: DSIGSignature.cpp
  ===================================================================
  RCS file: /home/cvs/xml-security/c/src/dsig/DSIGSignature.cpp,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- DSIGSignature.cpp	8 Feb 2004 10:20:51 -0000	1.29
  +++ DSIGSignature.cpp	9 Feb 2004 10:55:51 -0000	1.30
  @@ -869,6 +869,10 @@
   	case HASH_SHA1 :
   
   		if (mp_signedInfo->getSignatureMethod() == SIGNATURE_HMAC){
  +			if (mp_signingKey->getKeyType() != XSECCryptoKey::KEY_HMAC) {
  +				throw XSECException(XSECException::SigVfyError,
  +					"DSIGSignature::calculateSignedInfoHash - non HMAC key passed in to HMAC signature");
  +			}
   			XSECnew(txfm, TXFMSHA1(mp_doc, mp_signingKey));
   		}
   		else  {
  
  
  
  1.18      +9 -1      xml-security/c/src/tools/templatesign/templatesign.cpp
  
  Index: templatesign.cpp
  ===================================================================
  RCS file: /home/cvs/xml-security/c/src/tools/templatesign/templatesign.cpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- templatesign.cpp	8 Feb 2004 10:24:59 -0000	1.17
  +++ templatesign.cpp	9 Feb 2004 10:55:51 -0000	1.18
  @@ -35,6 +35,7 @@
   #include <xsec/dsig/DSIGKeyInfoX509.hpp>
   #include <xsec/framework/XSECException.hpp>
   #include <xsec/utils/XSECDOMUtils.hpp>
  +#include <xsec/enc/XSECCryptoException.hpp>
   
   #if defined(_WIN32)
   #	include <xsec/utils/winutils/XSECURIResolverGenericWin32.hpp>
  @@ -1253,6 +1254,13 @@
   		delete m;
   		errorsOccured = true;
   		exit (1);
  +	}
  +
  +	catch (XSECCryptoException &e) {
  +		cerr << "A cryptographic error occured during signature operation\n   Message: "
  +		<< e.getMsg() << endl;
  +		errorsOccured = true;
  +		exit(1);
   	}
   
   	catch (NetAccessorException) {