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 2011/12/15 16:47:22 UTC
svn commit: r1214814 - in
/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom:
DOMReference.java DOMTransform.java DOMXMLSignatureFactory.java
Author: coheigea
Date: Thu Dec 15 15:47:21 2011
New Revision: 1214814
URL: http://svn.apache.org/viewvc?rev=1214814&view=rev
Log:
Changing the JSR-105 implementation so that it searches for a Transform using the given provider first
Modified:
santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java
santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java
santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java?rev=1214814&r1=1214813&r2=1214814&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMReference.java Thu Dec 15 15:47:21 2011
@@ -482,11 +482,14 @@ public final class DOMReference extends
(((OctetStreamData)data).getOctetStream());
} else if (data instanceof NodeSetData) {
TransformService spi = null;
- try {
+ if (provider == null) {
spi = TransformService.getInstance(c14nalg, "DOM");
- } catch (NoSuchAlgorithmException nsae) {
- spi = TransformService.getInstance(c14nalg,
- "DOM", provider);
+ } else {
+ try {
+ spi = TransformService.getInstance(c14nalg, "DOM", provider);
+ } catch (NoSuchAlgorithmException nsae) {
+ spi = TransformService.getInstance(c14nalg, "DOM");
+ }
}
data = spi.transform(data, context);
xi = new XMLSignatureInput
@@ -496,8 +499,18 @@ public final class DOMReference extends
}
if (context instanceof XMLSignContext && c14n11
&& !xi.isOctetStream() && !xi.isOutputStreamSet()) {
- DOMTransform t = new DOMTransform
- (TransformService.getInstance(c14nalg, "DOM"));
+ TransformService spi = null;
+ if (provider == null) {
+ spi = TransformService.getInstance(c14nalg, "DOM");
+ } else {
+ try {
+ spi = TransformService.getInstance(c14nalg, "DOM", provider);
+ } catch (NoSuchAlgorithmException nsae) {
+ spi = TransformService.getInstance(c14nalg, "DOM");
+ }
+ }
+
+ DOMTransform t = new DOMTransform(spi);
Element transformsElem = null;
String dsPrefix = DOMUtils.getSignaturePrefix(context);
if (allTransforms.isEmpty()) {
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java?rev=1214814&r1=1214813&r2=1214814&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMTransform.java Thu Dec 15 15:47:21 2011
@@ -69,13 +69,22 @@ public class DOMTransform extends DOMStr
throws MarshalException
{
String algorithm = DOMUtils.getAttributeValue(transElem, "Algorithm");
- try {
- spi = TransformService.getInstance(algorithm, "DOM");
- } catch (NoSuchAlgorithmException e1) {
+
+ if (provider == null) {
+ try {
+ spi = TransformService.getInstance(algorithm, "DOM");
+ } catch (NoSuchAlgorithmException e1) {
+ throw new MarshalException(e1);
+ }
+ } else {
try {
spi = TransformService.getInstance(algorithm, "DOM", provider);
- } catch (NoSuchAlgorithmException e2) {
- throw new MarshalException(e2);
+ } catch (NoSuchAlgorithmException nsae) {
+ try {
+ spi = TransformService.getInstance(algorithm, "DOM");
+ } catch (NoSuchAlgorithmException e2) {
+ throw new MarshalException(e2);
+ }
}
}
try {
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java?rev=1214814&r1=1214813&r2=1214814&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java Thu Dec 15 15:47:21 2011
@@ -256,12 +256,18 @@ public final class DOMXMLSignatureFactor
public Transform newTransform(String algorithm,
TransformParameterSpec params) throws NoSuchAlgorithmException,
InvalidAlgorithmParameterException {
+
TransformService spi;
- try {
+ if (getProvider() == null) {
spi = TransformService.getInstance(algorithm, "DOM");
- } catch (NoSuchAlgorithmException nsae) {
- spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+ } else {
+ try {
+ spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+ } catch (NoSuchAlgorithmException nsae) {
+ spi = TransformService.getInstance(algorithm, "DOM");
+ }
}
+
spi.init(params);
return new DOMTransform(spi);
}
@@ -270,11 +276,16 @@ public final class DOMXMLSignatureFactor
XMLStructure params) throws NoSuchAlgorithmException,
InvalidAlgorithmParameterException {
TransformService spi;
- try {
+ if (getProvider() == null) {
spi = TransformService.getInstance(algorithm, "DOM");
- } catch (NoSuchAlgorithmException nsae) {
- spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+ } else {
+ try {
+ spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+ } catch (NoSuchAlgorithmException nsae) {
+ spi = TransformService.getInstance(algorithm, "DOM");
+ }
}
+
if (params == null) {
spi.init(null);
} else {
@@ -287,11 +298,16 @@ public final class DOMXMLSignatureFactor
C14NMethodParameterSpec params) throws NoSuchAlgorithmException,
InvalidAlgorithmParameterException {
TransformService spi;
- try {
+ if (getProvider() == null) {
spi = TransformService.getInstance(algorithm, "DOM");
- } catch (NoSuchAlgorithmException nsae) {
- spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+ } else {
+ try {
+ spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+ } catch (NoSuchAlgorithmException nsae) {
+ spi = TransformService.getInstance(algorithm, "DOM");
+ }
}
+
spi.init(params);
return new DOMCanonicalizationMethod(spi);
}
@@ -300,16 +316,16 @@ public final class DOMXMLSignatureFactor
XMLStructure params) throws NoSuchAlgorithmException,
InvalidAlgorithmParameterException {
TransformService spi;
- try {
+ if (getProvider() == null) {
spi = TransformService.getInstance(algorithm, "DOM");
- } catch (NoSuchAlgorithmException nsae) {
- spi = TransformService.getInstance(algorithm, "DOM", getProvider());
- }
- if (params == null) {
- spi.init(null);
} else {
- spi.init(params, null);
+ try {
+ spi = TransformService.getInstance(algorithm, "DOM", getProvider());
+ } catch (NoSuchAlgorithmException nsae) {
+ spi = TransformService.getInstance(algorithm, "DOM");
+ }
}
+
return new DOMCanonicalizationMethod(spi);
}