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 2013/03/13 16:10:08 UTC
svn commit: r1455989 - in
/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom:
handler/WSHandler.java message/WSSecEncrypt.java processor/X509Util.java
Author: coheigea
Date: Wed Mar 13 15:10:08 2013
New Revision: 1455989
URL: http://svn.apache.org/r1455989
Log:
Some fixes when not using a KeyName for symmetric encryption
Conflicts:
ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/WSHandler.java
ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/X509Util.java
Modified:
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/message/WSSecEncrypt.java
webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/X509Util.java
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=1455989&r1=1455988&r2=1455989&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 Wed Mar 13 15:10:08 2013
@@ -578,23 +578,6 @@ public abstract class WSHandler {
protected void decodeEncryptionParameter(RequestData reqData)
throws WSSecurityException {
Object mc = reqData.getMsgContext();
- String encUser = getString(WSHandlerConstants.ENCRYPTION_USER, mc);
-
- if (encUser != null) {
- reqData.setEncUser(encUser);
- } else {
- reqData.setEncUser(reqData.getUsername());
- }
- if (reqData.getEncUser() == null) {
- throw new WSSecurityException(WSSecurityException.ErrorCode.FAILURE,
- "empty", "WSHandler: Encryption: no username");
- }
- /*
- * String msgType = msgContext.getCurrentMessage().getMessageType(); if
- * (msgType != null && msgType.equals(Message.RESPONSE)) {
- * handleSpecialUser(encUser); }
- */
- handleSpecialUser(reqData);
/*
* If the following parameters are no used (they return null) then the
@@ -642,6 +625,23 @@ public abstract class WSHandler {
boolean encSymEndKeyBoolean = Boolean.parseBoolean(encSymEncKey);
reqData.setEncryptSymmetricEncryptionKey(encSymEndKeyBoolean);
}
+
+ String encUser = getString(WSHandlerConstants.ENCRYPTION_USER, mc);
+ if (encUser != null) {
+ reqData.setEncUser(encUser);
+ } else {
+ reqData.setEncUser(reqData.getUsername());
+ }
+ if (reqData.getEncryptSymmetricEncryptionKey() && reqData.getEncUser() == null) {
+ throw new WSSecurityException(WSSecurityException.ErrorCode.FAILURE,
+ "empty", "WSHandler: Encryption: no username");
+ }
+ /*
+ * String msgType = msgContext.getCurrentMessage().getMessageType(); if
+ * (msgType != null && msgType.equals(Message.RESPONSE)) {
+ * handleSpecialUser(encUser); }
+ */
+ handleSpecialUser(reqData);
String encParts = getString(WSHandlerConstants.ENCRYPTION_PARTS, mc);
if (encParts != null) {
Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java?rev=1455989&r1=1455988&r2=1455989&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java Wed Mar 13 15:10:08 2013
@@ -527,7 +527,7 @@ public class WSSecEncrypt extends WSSecE
WSConstants.XMLNS_NS, "xmlns:" + tmpE.getPrefix(), tmpE.getNamespaceURI()
);
keyInfo.addUnknownElement(securityTokenReference.getElement());
- } else {
+ } else if (encKeyId != null) {
SecurityTokenReference secToken = new SecurityTokenReference(document);
secToken.addWSSENamespace();
Reference ref = new Reference(document);
Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/X509Util.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/X509Util.java?rev=1455989&r1=1455988&r2=1455989&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/X509Util.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/X509Util.java Wed Mar 13 15:10:08 2013
@@ -94,7 +94,7 @@ public final class X509Util {
keyName = builder.toString();
}
if (keyName == null || keyName.length() <= 0) {
- throw new WSSecurityException(WSSecurityException.ErrorCode.INVALID_SECURITY, "noKeyname");
+ log.debug("No Key Name available");
}
WSPasswordCallback pwCb =
new WSPasswordCallback(keyName, WSPasswordCallback.Usage.SECRET_KEY);