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 2017/03/24 09:35:37 UTC
svn commit: r1788390 - in /webservices/wss4j/trunk/ws-security-dom/src:
main/java/org/apache/wss4j/dom/engine/
main/java/org/apache/wss4j/dom/handler/ main/java/org/apache/wss4j/dom/util/
test/java/org/apache/wss4j/dom/message/
Author: coheigea
Date: Fri Mar 24 09:35:37 2017
New Revision: 1788390
URL: http://svn.apache.org/viewvc?rev=1788390&view=rev
Log:
WSS-604 - UsernameTokenNoPassword does not work via WSHandler
Modified:
webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSConfig.java
webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java
webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java
Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSConfig.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSConfig.java?rev=1788390&r1=1788389&r2=1788390&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSConfig.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSConfig.java Fri Mar 24 09:35:37 2017
@@ -82,6 +82,10 @@ public final class WSSConfig {
org.apache.wss4j.dom.action.UsernameTokenAction.class
);
tmp.put(
+ WSConstants.UT_NOPASSWORD,
+ org.apache.wss4j.dom.action.UsernameTokenAction.class
+ );
+ tmp.put(
WSConstants.ENCR,
org.apache.wss4j.dom.action.EncryptionAction.class
);
Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java?rev=1788390&r1=1788389&r2=1788390&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java Fri Mar 24 09:35:37 2017
@@ -88,7 +88,7 @@ public abstract class WSHandler {
wssConfig = WSSConfig.getNewInstance();
reqData.setWssConfig(wssConfig);
}
-
+
if (reqData.getWsDocInfo() == null) {
WSDocInfo wsDocInfo = new WSDocInfo(doc);
reqData.setWsDocInfo(wsDocInfo);
@@ -135,9 +135,13 @@ public abstract class WSHandler {
for (HandlerAction actionToDo : actions) {
if (actionToDo.getAction() == WSConstants.SC) {
reqData.setEnableSignatureConfirmation(true);
- } else if (actionToDo.getAction() == WSConstants.UT
+ } else if ((actionToDo.getAction() == WSConstants.UT
+ || actionToDo.getAction() == WSConstants.UT_NOPASSWORD)
&& actionToDo.getActionToken() == null) {
decodeUTParameter(reqData);
+ if (actionToDo.getAction() == WSConstants.UT_NOPASSWORD) {
+ reqData.setPwType(null);
+ }
} else if (actionToDo.getAction() == WSConstants.UT_SIGN
&& actionToDo.getActionToken() == null) {
decodeUTParameter(reqData);
@@ -621,7 +625,7 @@ public abstract class WSHandler {
boolean includeToken =
decodeBooleanConfigValue(mc, WSHandlerConstants.INCLUDE_SIGNATURE_TOKEN, false);
actionToken.setIncludeToken(includeToken);
-
+
if (!reqData.isExpandXopInclude()) {
boolean expandXOP =
decodeBooleanConfigValue(
Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java?rev=1788390&r1=1788389&r2=1788390&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java Fri Mar 24 09:35:37 2017
@@ -468,6 +468,8 @@ public final class WSSecurityUtil {
return actions;
} else if (single[i].equals(WSHandlerConstants.USERNAME_TOKEN)) {
actions.add(new HandlerAction(WSConstants.UT));
+ } else if (single[i].equals(WSHandlerConstants.USERNAME_TOKEN_NO_PASSWORD)) {
+ actions.add(new HandlerAction(WSConstants.UT_NOPASSWORD));
} else if (single[i].equals(WSHandlerConstants.SIGNATURE)) {
actions.add(new HandlerAction(WSConstants.SIGN));
} else if (single[i].equals(WSHandlerConstants.SIGNATURE_DERIVED)) {
Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java?rev=1788390&r1=1788389&r2=1788390&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java Fri Mar 24 09:35:37 2017
@@ -866,6 +866,35 @@ public class UsernameTokenTest extends o
}
/**
+ * Test that adds a UserNameToken with no password via WSHandler
+ */
+ @Test
+ public void testUsernameTokenWSHandlerNoPassword2() throws Exception {
+ CustomHandler handler = new CustomHandler();
+ Document doc = SOAPUtil.toSOAPPart(SOAPUtil.SAMPLE_SOAP_MSG);
+
+ RequestData reqData = new RequestData();
+ java.util.Map<String, Object> config = new java.util.TreeMap<String, Object>();
+ reqData.setUsername("wernerd");
+ reqData.setMsgContext(config);
+
+ HandlerAction action = new HandlerAction(WSConstants.UT_NOPASSWORD);
+ handler.send(
+ doc,
+ reqData,
+ Collections.singletonList(action),
+ true
+ );
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Username Token via WSHandler");
+ String outputString =
+ XMLUtils.prettyDocumentToString(doc);
+ LOG.debug(outputString);
+ }
+ }
+
+ /**
* Test that adds a UserNameToken with an empty password via WSHandler
*/
@Test