You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2012/07/03 14:47:01 UTC

svn commit: r1356706 - /webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/impl/processor/input/WSSSignatureInputHandler.java

Author: coheigea
Date: Tue Jul  3 12:47:00 2012
New Revision: 1356706

URL: http://svn.apache.org/viewvc?rev=1356706&view=rev
Log:
Update for latest Santuario code

Modified:
    webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/impl/processor/input/WSSSignatureInputHandler.java

Modified: webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/impl/processor/input/WSSSignatureInputHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/impl/processor/input/WSSSignatureInputHandler.java?rev=1356706&r1=1356705&r2=1356706&view=diff
==============================================================================
--- webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/impl/processor/input/WSSSignatureInputHandler.java (original)
+++ webservices/wss4j/branches/swssf/streaming-ws-security/src/main/java/org/swssf/wss/impl/processor/input/WSSSignatureInputHandler.java Tue Jul  3 12:47:00 2012
@@ -21,6 +21,7 @@ package org.swssf.wss.impl.processor.inp
 import org.apache.xml.security.binding.excc14n.InclusiveNamespaces;
 import org.swssf.binding.wss10.SecurityTokenReferenceType;
 import org.apache.xml.security.binding.xmldsig.CanonicalizationMethodType;
+import org.apache.xml.security.binding.xmldsig.KeyInfoType;
 import org.apache.xml.security.binding.xmldsig.ManifestType;
 import org.apache.xml.security.binding.xmldsig.ObjectType;
 import org.apache.xml.security.binding.xmldsig.SignatureType;
@@ -33,6 +34,7 @@ import org.swssf.wss.securityEvent.Signa
 import org.swssf.wss.securityEvent.TokenSecurityEvent;
 import org.apache.xml.security.stax.ext.*;
 import org.apache.xml.security.stax.impl.processor.input.AbstractSignatureInputHandler;
+import org.apache.xml.security.stax.impl.securityToken.SecurityTokenFactory;
 
 import java.math.BigInteger;
 import java.util.Iterator;
@@ -66,7 +68,7 @@ public class WSSSignatureInputHandler ex
         checkBSPCompliance(inputProcessorChain, signatureType);
 
         final WSSecurityContext securityContext = (WSSecurityContext) inputProcessorChain.getSecurityContext();
-        final SignatureVerifier signatureVerifier = new SignatureVerifier(signatureType, inputProcessorChain.getSecurityContext(), securityProperties) {
+        final SignatureVerifier signatureVerifier = new WSSSignatureVerifier(signatureType, inputProcessorChain.getSecurityContext(), securityProperties) {
             @Override
             protected void handleSecurityToken(SecurityToken securityToken) throws XMLSecurityException {
                 //we have to emit a TokenSecurityEvent here too since it could be an embedded token
@@ -144,4 +146,21 @@ public class WSSSignatureInputHandler ex
                 new WSSSignatureReferenceVerifyInputProcessor(signatureType, securityToken, securityProperties,
                         (WSSecurityContext) inputProcessorChain.getSecurityContext()));
     }
+    
+    public class WSSSignatureVerifier extends SignatureVerifier {
+        
+        public WSSSignatureVerifier(SignatureType signatureType, SecurityContext securityContext,
+                                    XMLSecurityProperties securityProperties) throws XMLSecurityException {
+            super(signatureType, securityContext, securityProperties);
+        }
+        
+        protected SecurityToken retrieveSecurityToken(KeyInfoType keyInfoType,
+                                                      XMLSecurityProperties securityProperties,
+                                                      SecurityContext securityContext) throws XMLSecurityException {
+            return SecurityTokenFactory.getInstance().getSecurityToken(keyInfoType,
+                                                                securityProperties.getSignatureVerificationCrypto(), securityProperties.getCallbackHandler(),
+                                                                securityContext);
+            
+        }
+    }
 }