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 2010/12/20 18:05:22 UTC

svn commit: r1051210 - in /webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message: WSSecEncrypt.java token/SecurityTokenReference.java

Author: coheigea
Date: Mon Dec 20 17:05:21 2010
New Revision: 1051210

URL: http://svn.apache.org/viewvc?rev=1051210&view=rev
Log:
[WSS-260] - WSS4J now calls back to a CallbackHandler to get SAML Assertions tha
t are not in the message.
 - Also fixing a regression in WSSecEncrypt.

Modified:
    webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java
    webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java

Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java?rev=1051210&r1=1051209&r2=1051210&view=diff
==============================================================================
--- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java (original)
+++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecEncrypt.java Mon Dec 20 17:05:21 2010
@@ -499,7 +499,6 @@ public class WSSecEncrypt extends WSSecE
     private KeyInfo createKeyInfo() throws WSSecurityException {
 
         KeyInfo keyInfo = new KeyInfo(document);
-
         if (keyIdentifierType == WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER) {
             SecurityTokenReference secToken = new SecurityTokenReference(document);
             secToken.addWSSENamespace();
@@ -515,6 +514,7 @@ public class WSSecEncrypt extends WSSecE
         } else if (SecurityTokenReference.SAML_ID_URI.equals(customReferenceValue)) {
             SecurityTokenReference secToken = new SecurityTokenReference(document);
             secToken.setSAMLKeyIdentifier((encKeyIdDirectId ? "":"#") + encKeyId);
+            keyInfo.addUnknownElement(secToken.getElement());
         } else if (securityTokenReference != null) {
             Element tmpE = securityTokenReference.getElement();
             tmpE.setAttributeNS(

Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java?rev=1051210&r1=1051209&r2=1051210&view=diff
==============================================================================
--- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java (original)
+++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java Mon Dec 20 17:05:21 2010
@@ -261,7 +261,8 @@ public class SecurityTokenReference {
         // 
         // Try to find a custom token
         //
-        if (WSConstants.WSC_SCT.equals(type) && cb != null) {
+        if (cb != null && (WSConstants.WSC_SCT.equals(type) ||
+            WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(type) || assertionStr.equals(type))) {
             //try to find a custom token
             WSPasswordCallback pwcb = 
                 new WSPasswordCallback(id, WSPasswordCallback.CUSTOM_TOKEN);