You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by mu...@apache.org on 2007/07/19 20:48:02 UTC

svn commit: r557731 - /xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java

Author: mullan
Date: Thu Jul 19 11:48:01 2007
New Revision: 557731

URL: http://svn.apache.org/viewvc?view=rev&rev=557731
Log:
In validate method, get validation Key from the KeySelector in the
StaxValidateContext.

Modified:
    xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java

Modified: xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java
URL: http://svn.apache.org/viewvc/xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java?view=diff&rev=557731&r1=557730&r2=557731
==============================================================================
--- xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java (original)
+++ xml/security/branches/stax_jsr105/src/com/r_bg/stax/XMLSignatureWorker.java Thu Jul 19 11:48:01 2007
@@ -9,6 +9,8 @@
 import java.util.List;
 
 import javax.xml.crypto.Data;
+import javax.xml.crypto.KeySelector;
+import javax.xml.crypto.KeySelectorException;
 import javax.xml.crypto.KeySelectorResult;
 import javax.xml.crypto.MarshalException;
 import javax.xml.crypto.dsig.CanonicalizationMethod;
@@ -275,7 +277,17 @@
 					return false;
 			}
 			SignatureAlgorithm sa=new SignatureAlgorithm(si.signatureMethod);
-			sa.initVerify(ctx.key);
+			// get key from KeySelector
+                        KeySelectorResult ksr = null;
+                        try {
+                            ksr = ctx.getKeySelector().select(getKeyInfo(), 
+				KeySelector.Purpose.VERIFY, 
+				getSignedInfo().getSignatureMethod(), 
+				validateContext);
+                        } catch (KeySelectorException kse) {
+                            throw new XMLSignatureException(kse);
+                        }
+			sa.initVerify(ksr.getKey());
 			sa.update(si.bos.toByteArray());			
 			return sa.verify(signatureValue);
 		} catch (org.apache.xml.security.signature.XMLSignatureException e) {