You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2012/03/02 11:33:29 UTC

svn commit: r1296118 - /cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java

Author: coheigea
Date: Fri Mar  2 10:33:28 2012
New Revision: 1296118

URL: http://svn.apache.org/viewvc?rev=1296118&view=rev
Log:
[CXF-4049] - Check external CryptoProvider from message context properties in Wss4jInInterceptor
 - Patch applied, thanks.
 - I made some changes as per my comments in the JIRA.

Modified:
    cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java

Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java?rev=1296118&r1=1296117&r2=1296118&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java Fri Mar  2 10:33:28 2012
@@ -68,6 +68,7 @@ import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.WSSecurityEngine;
 import org.apache.ws.security.WSSecurityEngineResult;
 import org.apache.ws.security.WSSecurityException;
+import org.apache.ws.security.components.crypto.Crypto;
 import org.apache.ws.security.handler.RequestData;
 import org.apache.ws.security.handler.WSHandlerConstants;
 import org.apache.ws.security.handler.WSHandlerResult;
@@ -376,7 +377,19 @@ public class WSS4JInInterceptor extends 
      * @param reqData
      */
     protected void computeAction(SoapMessage msg, RequestData reqData) {
-        
+        //
+        // Try to get Crypto Provider from message context properties. 
+        // It gives a possibility to use external Crypto Provider 
+        //
+        Crypto encCrypto = (Crypto)msg.getContextualProperty(SecurityConstants.ENCRYPT_CRYPTO);
+        if (encCrypto != null) {
+            reqData.setEncCrypto(encCrypto);
+            reqData.setDecCrypto(encCrypto);
+        }
+        Crypto sigCrypto = (Crypto)msg.getContextualProperty(SecurityConstants.SIGNATURE_CRYPTO);
+        if (sigCrypto != null) {
+            reqData.setSigCrypto(sigCrypto);
+        }
     }
 
     protected void doResults(
@@ -657,7 +670,6 @@ public class WSS4JInInterceptor extends 
         return fault;
     }
     
-    
     static class CXFRequestData extends RequestData {
         public CXFRequestData() {
         }