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 2013/06/13 18:16:57 UTC
svn commit: r1492733 - in /cxf/trunk:
rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/
rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/
systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/
Author: coheigea
Date: Thu Jun 13 16:16:57 2013
New Revision: 1492733
URL: http://svn.apache.org/r1492733
Log:
Added support for outbound Symmetric streaming WS-Security + enabled X.509 testcases
Modified:
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JStaxInterceptor.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxOutInterceptor.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java
cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/StaxX509TokenTest.java
cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/X509TokenTest.java
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JStaxInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JStaxInterceptor.java?rev=1492733&r1=1492732&r2=1492733&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JStaxInterceptor.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JStaxInterceptor.java Thu Jun 13 16:16:57 2013
@@ -37,12 +37,16 @@ import org.apache.cxf.binding.soap.inter
import org.apache.cxf.common.classloader.ClassLoaderUtils;
import org.apache.cxf.common.classloader.ClassLoaderUtils.ClassLoaderHolder;
import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageUtils;
import org.apache.cxf.phase.PhaseInterceptor;
import org.apache.cxf.resource.ResourceManager;
+import org.apache.cxf.service.model.EndpointInfo;
import org.apache.cxf.ws.security.SecurityConstants;
+import org.apache.cxf.ws.security.tokenstore.TokenStore;
+import org.apache.cxf.ws.security.tokenstore.TokenStoreFactory;
import org.apache.wss4j.common.ConfigurationConstants;
import org.apache.wss4j.common.crypto.Crypto;
import org.apache.wss4j.common.crypto.CryptoFactory;
@@ -170,6 +174,27 @@ public abstract class AbstractWSS4JStaxI
}
}
}
+
+ protected final TokenStore getTokenStore(Message message) {
+ EndpointInfo info = message.getExchange().get(Endpoint.class).getEndpointInfo();
+ synchronized (info) {
+ TokenStore tokenStore =
+ (TokenStore)message.getContextualProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE);
+ if (tokenStore == null) {
+ tokenStore = (TokenStore)info.getProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE);
+ }
+ if (tokenStore == null) {
+ TokenStoreFactory tokenStoreFactory = TokenStoreFactory.newInstance();
+ String cacheKey = SecurityConstants.TOKEN_STORE_CACHE_INSTANCE;
+ if (info.getName() != null) {
+ cacheKey += "-" + info.getName().toString().hashCode();
+ }
+ tokenStore = tokenStoreFactory.newTokenStore(cacheKey, message);
+ info.setProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE, tokenStore);
+ }
+ return tokenStore;
+ }
+ }
public Set<URI> getRoles() {
return null;
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=1492733&r1=1492732&r2=1492733&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 Thu Jun 13 16:16:57 2013
@@ -82,7 +82,6 @@ import org.apache.wss4j.dom.WSSecurityEn
import org.apache.wss4j.dom.handler.RequestData;
import org.apache.wss4j.dom.handler.WSHandlerConstants;
import org.apache.wss4j.dom.handler.WSHandlerResult;
-import org.apache.wss4j.dom.message.token.SecurityTokenReference;
import org.apache.wss4j.dom.processor.Processor;
import org.apache.wss4j.dom.util.WSSecurityUtil;
import org.apache.wss4j.dom.validate.NoOpValidator;
@@ -589,23 +588,11 @@ public class WSS4JInInterceptor extends
WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
String id = pc.getIdentifier();
-
- if (SecurityTokenReference.ENC_KEY_SHA1_URI.equals(pc.getType())
- || WSConstants.WSS_KRB_KI_VALUE_TYPE.equals(pc.getType())) {
- for (String tokenId : store.getTokenIdentifiers()) {
- SecurityToken token = store.getToken(tokenId);
- if (token != null && id.equals(token.getSHA1())) {
- pc.setKey(token.getSecret());
- return;
- }
- }
- } else {
- SecurityToken tok = store.getToken(id);
- if (tok != null) {
- pc.setKey(tok.getSecret());
- pc.setCustomToken(tok.getToken());
- return;
- }
+ SecurityToken tok = store.getToken(id);
+ if (tok != null) {
+ pc.setKey(tok.getSecret());
+ pc.setCustomToken(tok.getToken());
+ return;
}
}
if (internal != null) {
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java?rev=1492733&r1=1492732&r2=1492733&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxInInterceptor.java Thu Jun 13 16:16:57 2013
@@ -18,12 +18,16 @@
*/
package org.apache.cxf.ws.security.wss4j;
+import java.io.IOException;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
@@ -39,9 +43,12 @@ import org.apache.cxf.interceptor.URIMap
import org.apache.cxf.message.MessageUtils;
import org.apache.cxf.phase.Phase;
import org.apache.cxf.ws.security.SecurityConstants;
+import org.apache.cxf.ws.security.tokenstore.SecurityToken;
+import org.apache.cxf.ws.security.tokenstore.TokenStore;
import org.apache.wss4j.common.ConfigurationConstants;
import org.apache.wss4j.common.cache.ReplayCache;
import org.apache.wss4j.common.crypto.Crypto;
+import org.apache.wss4j.common.ext.WSPasswordCallback;
import org.apache.wss4j.common.ext.WSSecurityException;
import org.apache.wss4j.policy.WSSPolicyException;
import org.apache.wss4j.stax.ConfigurationConverter;
@@ -115,6 +122,22 @@ public class WSS4JStaxInInterceptor exte
configureProperties(soapMessage);
configureCallbackHandler(soapMessage);
+ if (getSecurityProperties() != null) {
+ TokenStoreCallbackHandler callbackHandler =
+ new TokenStoreCallbackHandler(
+ getSecurityProperties().getCallbackHandler(), getTokenStore(soapMessage)
+ );
+ getSecurityProperties().setCallbackHandler(callbackHandler);
+ } else {
+ Map<String, Object> config = getProperties();
+ TokenStoreCallbackHandler callbackHandler =
+ new TokenStoreCallbackHandler(
+ (CallbackHandler)config.get(ConfigurationConstants.PW_CALLBACK_REF),
+ getTokenStore(soapMessage)
+ );
+ config.put(ConfigurationConstants.PW_CALLBACK_REF, callbackHandler);
+ }
+
InboundWSSec inboundWSSec = null;
WSSSecurityProperties secProps = null;
if (getSecurityProperties() != null) {
@@ -335,4 +358,31 @@ public class WSS4JStaxInInterceptor exte
public void setActions(List<String> actions) {
this.actions = actions;
}
+
+ private class TokenStoreCallbackHandler implements CallbackHandler {
+ private CallbackHandler internal;
+ private TokenStore store;
+ public TokenStoreCallbackHandler(CallbackHandler in, TokenStore st) {
+ internal = in;
+ store = st;
+ }
+
+ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+ for (int i = 0; i < callbacks.length; i++) {
+ WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
+
+ String id = pc.getIdentifier();
+ SecurityToken tok = store.getToken(id);
+ if (tok != null) {
+ pc.setKey(tok.getSecret());
+ pc.setCustomToken(tok.getToken());
+ return;
+ }
+ }
+ if (internal != null) {
+ internal.handle(callbacks);
+ }
+ }
+
+ }
}
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxOutInterceptor.java?rev=1492733&r1=1492732&r2=1492733&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxOutInterceptor.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JStaxOutInterceptor.java Thu Jun 13 16:16:57 2013
@@ -122,8 +122,8 @@ public class WSS4JStaxOutInterceptor ext
translateProperties(mc);
Map<String, SecurityTokenProvider<OutboundSecurityToken>> outboundTokens =
new HashMap<String, SecurityTokenProvider<OutboundSecurityToken>>();
- configureProperties(mc, outboundTokens);
configureCallbackHandler(mc);
+ configureProperties(mc, outboundTokens);
OutboundWSSec outboundWSSec = null;
WSSSecurityProperties secProps = null;
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java?rev=1492733&r1=1492732&r2=1492733&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/StaxSymmetricBindingHandler.java Thu Jun 13 16:16:57 2013
@@ -19,6 +19,7 @@
package org.apache.cxf.ws.security.wss4j.policyhandlers;
+import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Date;
@@ -27,25 +28,25 @@ import java.util.Map;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPException;
import org.apache.cxf.binding.soap.SoapMessage;
import org.apache.cxf.common.util.StringUtils;
-import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.ws.policy.AssertionInfoMap;
import org.apache.cxf.ws.security.SecurityConstants;
import org.apache.cxf.ws.security.tokenstore.SecurityToken;
+import org.apache.cxf.ws.security.tokenstore.TokenStore;
import org.apache.wss4j.common.ConfigurationConstants;
+import org.apache.wss4j.common.ext.WSPasswordCallback;
import org.apache.wss4j.common.ext.WSSecurityException;
import org.apache.wss4j.dom.WSConstants;
import org.apache.wss4j.dom.WSSConfig;
-import org.apache.wss4j.dom.WSSecurityEngineResult;
-import org.apache.wss4j.dom.handler.WSHandlerConstants;
-import org.apache.wss4j.dom.handler.WSHandlerResult;
import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.wss4j.policy.SPConstants.IncludeTokenType;
import org.apache.wss4j.policy.model.AbstractSymmetricAsymmetricBinding;
import org.apache.wss4j.policy.model.AbstractToken;
import org.apache.wss4j.policy.model.AbstractToken.DerivedKeys;
@@ -108,6 +109,14 @@ public class StaxSymmetricBindingHandler
configureLayout(aim);
sbinding = (SymmetricBinding)getBinding(aim);
+ // Set up CallbackHandler which wraps the configured Handler
+ Map<String, Object> config = getProperties();
+ TokenStoreCallbackHandler callbackHandler =
+ new TokenStoreCallbackHandler(
+ (CallbackHandler)config.get(ConfigurationConstants.PW_CALLBACK_REF), getTokenStore()
+ );
+ config.put(ConfigurationConstants.PW_CALLBACK_REF, callbackHandler);
+
if (sbinding.getProtectionOrder()
== AbstractSymmetricAsymmetricBinding.ProtectionOrder.EncryptBeforeSigning) {
doEncryptBeforeSign();
@@ -379,9 +388,8 @@ public class StaxSymmetricBindingHandler
}
AbstractToken sigToken = wrapper.getToken();
- if (sbinding.isProtectTokens() && (sigToken instanceof X509Token)
- && sigToken.getIncludeTokenType() != IncludeTokenType.INCLUDE_TOKEN_NEVER) {
- parts += "{Element}{" + WSSConstants.NS_WSSE10 + "}BinarySecurityToken;";
+ if (sbinding.isProtectTokens() && (sigToken instanceof X509Token)) {
+ parts += "{Element}{" + WSSConstants.NS_XMLENC + "}EncryptedKey;";
}
config.put(ConfigurationConstants.SIGNATURE_PARTS, parts);
@@ -428,34 +436,55 @@ public class StaxSymmetricBindingHandler
}
private String getEncryptedKey() {
+ // findEncryptedKeyToken(message);
+ /*
+ SecurityEvent event = findEncryptedKeyEvent(message);
+ if (event != null) {
+ org.apache.xml.security.stax.securityToken.SecurityToken securityToken =
+ ((EncryptedKeyTokenSecurityEvent)event).getSecurityToken();
+ if (securityToken != null) {
+ Date created = new Date();
+ Date expires = new Date();
+ expires.setTime(created.getTime() + 300000);
+
+ String encryptedKeyID = securityToken.getId();
+ System.out.println("ID: " + encryptedKeyID);
+ SecurityToken tempTok = new SecurityToken(encryptedKeyID, created, expires);
+ // tempTok.setSecret(securityToken.g);
+ //tempTok.setSHA1(getSHA1((byte[])wser
+ // .get(WSSecurityEngineResult.TAG_ENCRYPTED_EPHEMERAL_KEY)));
+ getTokenStore().add(tempTok);
+
+ return encryptedKeyID;
+ }
+ }
+ System.out.println("EVENT NULL?: " + (event == null));
+ */
+ return null;
- List<WSHandlerResult> results = CastUtils.cast((List<?>)message.getExchange().getInMessage()
- .get(WSHandlerConstants.RECV_RESULTS));
-
- for (WSHandlerResult rResult : results) {
- List<WSSecurityEngineResult> wsSecEngineResults = rResult.getResults();
-
- for (WSSecurityEngineResult wser : wsSecEngineResults) {
- Integer actInt = (Integer)wser.get(WSSecurityEngineResult.TAG_ACTION);
- String encryptedKeyID = (String)wser.get(WSSecurityEngineResult.TAG_ID);
- if (actInt.intValue() == WSConstants.ENCR
- && encryptedKeyID != null
- && encryptedKeyID.length() != 0) {
- Date created = new Date();
- Date expires = new Date();
- expires.setTime(created.getTime() + 300000);
- SecurityToken tempTok = new SecurityToken(encryptedKeyID, created, expires);
- tempTok.setSecret((byte[])wser.get(WSSecurityEngineResult.TAG_SECRET));
- tempTok.setSHA1(getSHA1((byte[])wser
- .get(WSSecurityEngineResult.TAG_ENCRYPTED_EPHEMERAL_KEY)));
- getTokenStore().add(tempTok);
-
- return encryptedKeyID;
+ }
+ /*
+ * TODO
+ private SecurityToken findEncryptedKeyToken(Message message) {
+ @SuppressWarnings("unchecked")
+ final List<SecurityEvent> incomingEventList =
+ (List<SecurityEvent>) message.getExchange().get(SecurityEvent.class.getName() + ".in");
+ if (incomingEventList != null) {
+ for (SecurityEvent incomingEvent : incomingEventList) {
+ if (WSSecurityEventConstants.EncryptedPart == incomingEvent.getSecurityEventType()
+ || WSSecurityEventConstants.EncryptedElement
+ == incomingEvent.getSecurityEventType()) {
+ org.apache.xml.security.stax.securityToken.SecurityToken token =
+ ((AbstractSecuredElementSecurityEvent)incomingEvent).getSecurityToken();
+ if (token != null && token.get) {
+
+ }
}
}
}
return null;
}
+ */
private String getSHA1(byte[] input) {
try {
@@ -518,4 +547,34 @@ public class StaxSymmetricBindingHandler
outboundTokens.put(WSSConstants.PROP_USE_THIS_TOKEN_ID_FOR_SIGNATURE,
encryptedKeySecurityTokenProvider);
}
+
+ private class TokenStoreCallbackHandler implements CallbackHandler {
+ private CallbackHandler internal;
+ private TokenStore store;
+ public TokenStoreCallbackHandler(CallbackHandler in, TokenStore st) {
+ internal = in;
+ store = st;
+ }
+
+ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+ for (int i = 0; i < callbacks.length; i++) {
+ WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
+
+ if (pc.getKey() != null) {
+ String id = pc.getIdentifier();
+ SecurityToken token = store.getToken(id);
+ if (token != null) {
+ token.setSHA1(getSHA1(pc.getKey()));
+ // Create another cache entry with the SHA1 Identifier as the key
+ // for easy retrieval
+ store.add(token.getSHA1(), token);
+ }
+ }
+ }
+ if (internal != null) {
+ internal.handle(callbacks);
+ }
+ }
+
+ }
}
Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java?rev=1492733&r1=1492732&r2=1492733&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java Thu Jun 13 16:16:57 2013
@@ -852,9 +852,11 @@ public class SymmetricBindingHandler ext
// Set the SHA1 value of the encrypted key, this is used when the encrypted
// key is referenced via a key identifier of type EncryptedKeySHA1
tempTok.setSHA1(getSHA1(encrKey.getEncryptedEphemeralKey()));
-
tokenStore.add(tempTok);
+ // Create another cache entry with the SHA1 Identifier as the key for easy retrieval
+ tokenStore.add(tempTok.getSHA1(), tempTok);
+
String bstTokenId = encrKey.getBSTTokenId();
//If direct ref is used to refer to the cert
//then add the cert to the sec header now
Modified: cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/StaxX509TokenTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/StaxX509TokenTest.java?rev=1492733&r1=1492732&r2=1492733&view=diff
==============================================================================
--- cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/StaxX509TokenTest.java (original)
+++ cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/StaxX509TokenTest.java Thu Jun 13 16:16:57 2013
@@ -61,14 +61,6 @@ public class StaxX509TokenTest extends A
// set this to false to fork
launchServer(StaxServer.class, true)
);
- /*
- assertTrue(
- "Intermediary failed to launch",
- // run the server in the same process
- // set this to false to fork
- launchServer(Intermediary.class, true)
- );
- */
}
@org.junit.AfterClass
@@ -128,29 +120,6 @@ public class StaxX509TokenTest extends A
}
@org.junit.Test
- public void testIntermediary() throws Exception {
-
- SpringBusFactory bf = new SpringBusFactory();
- URL busFile = StaxX509TokenTest.class.getResource("client/intermediary-client.xml");
-
- Bus bus = bf.createBus(busFile.toString());
- SpringBusFactory.setDefaultBus(bus);
- SpringBusFactory.setThreadDefaultBus(bus);
-
- URL wsdl = StaxX509TokenTest.class.getResource("DoubleItIntermediary.wsdl");
- Service service = Service.create(wsdl, SERVICE_QNAME);
- QName portQName = new QName(NAMESPACE, "DoubleItPort");
- DoubleItPortType x509Port =
- service.getPort(portQName, DoubleItPortType.class);
- updateAddressPort(x509Port, INTERMEDIARY_PORT);
-
- x509Port.doubleIt(25);
-
- ((java.io.Closeable)x509Port).close();
- bus.shutdown(true);
- }
-
- @org.junit.Test
public void testIssuerSerial() throws Exception {
SpringBusFactory bf = new SpringBusFactory();
Modified: cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/X509TokenTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/X509TokenTest.java?rev=1492733&r1=1492732&r2=1492733&view=diff
==============================================================================
--- cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/X509TokenTest.java (original)
+++ cxf/trunk/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/x509/X509TokenTest.java Thu Jun 13 16:16:57 2013
@@ -93,12 +93,18 @@ public class X509TokenTest extends Abstr
DoubleItPortType x509Port =
service.getPort(portQName, DoubleItPortType.class);
updateAddressPort(x509Port, PORT);
+
+ // DOM
+ x509Port.doubleIt(25);
+
+ // Streaming
+ SecurityTestUtil.enableStreaming(x509Port);
x509Port.doubleIt(25);
((java.io.Closeable)x509Port).close();
bus.shutdown(true);
}
-
+
@org.junit.Test
public void testKeyIdentifierJaxwsClient() throws Exception {
@@ -120,6 +126,11 @@ public class X509TokenTest extends Abstr
"org/apache/cxf/systest/ws/wssec10/client/bob.properties");
((BindingProvider)x509Port).getRequestContext().put(SecurityConstants.ENCRYPT_USERNAME, "bob");
+ // DOM
+ x509Port.doubleIt(25);
+
+ // Streaming
+ SecurityTestUtil.enableStreaming(x509Port);
x509Port.doubleIt(25);
((java.io.Closeable)x509Port).close();
@@ -143,6 +154,11 @@ public class X509TokenTest extends Abstr
service.getPort(portQName, DoubleItPortType.class);
updateAddressPort(x509Port, INTERMEDIARY_PORT);
+ // DOM
+ x509Port.doubleIt(25);
+
+ // Streaming
+ SecurityTestUtil.enableStreaming(x509Port);
x509Port.doubleIt(25);
((java.io.Closeable)x509Port).close();
@@ -165,6 +181,12 @@ public class X509TokenTest extends Abstr
DoubleItPortType x509Port =
service.getPort(portQName, DoubleItPortType.class);
updateAddressPort(x509Port, PORT);
+
+ // DOM
+ x509Port.doubleIt(25);
+
+ // Streaming
+ SecurityTestUtil.enableStreaming(x509Port);
x509Port.doubleIt(25);
((java.io.Closeable)x509Port).close();
@@ -187,6 +209,12 @@ public class X509TokenTest extends Abstr
DoubleItPortType x509Port =
service.getPort(portQName, DoubleItPortType.class);
updateAddressPort(x509Port, PORT);
+
+ // DOM
+ x509Port.doubleIt(25);
+
+ // Streaming
+ SecurityTestUtil.enableStreaming(x509Port);
x509Port.doubleIt(25);
((java.io.Closeable)x509Port).close();
@@ -209,6 +237,8 @@ public class X509TokenTest extends Abstr
DoubleItPortType x509Port =
service.getPort(portQName, DoubleItPortType.class);
updateAddressPort(x509Port, PORT);
+
+ // DOM
x509Port.doubleIt(25);
((java.io.Closeable)x509Port).close();
@@ -399,8 +429,14 @@ public class X509TokenTest extends Abstr
DoubleItPortType x509Port =
service.getPort(portQName, DoubleItPortType.class);
updateAddressPort(x509Port, PORT);
+
+ // DOM
x509Port.doubleIt(25);
+ // TODO Streaming
+ // SecurityTestUtil.enableStreaming(x509Port);
+ // x509Port.doubleIt(25);
+
((java.io.Closeable)x509Port).close();
bus.shutdown(true);
}