You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2014/05/20 13:39:26 UTC
svn commit: r1596206 -
/santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/signature/Reference.java
Author: coheigea
Date: Tue May 20 11:39:26 2014
New Revision: 1596206
URL: http://svn.apache.org/r1596206
Log:
Optimisation to avoid needlessly creating a MessageDigest algorithm where it isn't required
Conflicts:
src/main/java/org/apache/xml/security/signature/Reference.java
Modified:
santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/signature/Reference.java
Modified: santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/signature/Reference.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/signature/Reference.java?rev=1596206&r1=1596205&r2=1596206&view=diff
==============================================================================
--- santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/signature/Reference.java (original)
+++ santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/signature/Reference.java Tue May 20 11:39:26 2014
@@ -26,6 +26,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
+import org.apache.xml.security.algorithms.Algorithm;
import org.apache.xml.security.algorithms.MessageDigestAlgorithm;
import org.apache.xml.security.c14n.CanonicalizationException;
import org.apache.xml.security.c14n.InvalidCanonicalizerException;
@@ -178,13 +179,22 @@ public class Reference extends Signature
this.constructionElement.appendChild(transforms.getElement());
XMLUtils.addReturnToElement(this.constructionElement);
}
- MessageDigestAlgorithm mda =
- MessageDigestAlgorithm.getInstance(this.doc, messageDigestAlgorithm);
+
+ // Create DigestMethod Element without actually instantiating a MessageDigest Object
+ Algorithm digestAlgorithm = new Algorithm(getDocument(), messageDigestAlgorithm) {
+ public String getBaseNamespace() {
+ return Constants.SignatureSpecNS;
+ }
+
+ public String getBaseLocalName() {
+ return Constants._TAG_DIGESTMETHOD;
+ }
+ };
- digestMethodElem = mda.getElement();
+ digestMethodElem = digestAlgorithm.getElement();
this.constructionElement.appendChild(digestMethodElem);
XMLUtils.addReturnToElement(this.constructionElement);
-
+
digestValueElement =
XMLUtils.createElementInSignatureSpace(this.doc, Constants._TAG_DIGESTVALUE);