Author: coheigea
Date: Tue Feb 15 17:57:46 2011
New Revision: 1070988

URL: http://svn.apache.org/viewvc?rev=1070988&view=rev
Log:
Added some wsse11:TokenType stuff for references to SAML Assertions.

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/WSSecSignature.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=1070988&r1=1070987&r2=1070988&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
 Tue Feb 15 17:57:46 2011
@@ -513,12 +513,14 @@ public class WSSecEncrypt extends WSSecE
             keyInfo.addKeyName(embeddedKeyName == null ? user : 
embeddedKeyName);
         } else if 
(WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customReferenceValue)) {
             SecurityTokenReference secToken = new 
SecurityTokenReference(document);
+            secToken.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE);
             secToken.setKeyIdentifier(
                 WSConstants.WSS_SAML_KI_VALUE_TYPE, (encKeyIdDirectId ? 
"":"#") + encKeyId
             );
             keyInfo.addUnknownElement(secToken.getElement());
         } else if 
(WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customReferenceValue)) {
             SecurityTokenReference secToken = new 
SecurityTokenReference(document);
+            secToken.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE);
             secToken.setKeyIdentifier(
                 WSConstants.WSS_SAML2_KI_VALUE_TYPE, (encKeyIdDirectId ? 
"":"#") + encKeyId
             );

Modified: 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java?rev=1070988&r1=1070987&r2=1070988&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java
 (original)
+++ 
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java
 Tue Feb 15 17:57:46 2011
@@ -216,20 +216,39 @@ public class WSSecSignature extends WSSe
 
         case WSConstants.CUSTOM_SYMM_SIGNING :
             Reference refCust = new Reference(document);
-            refCust.setValueType(customTokenValueType);
+            if 
(WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customTokenValueType)) {
+                secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE);
+                refCust.setValueType(customTokenValueType);
+            } else if 
(WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customTokenValueType)) {
+                secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE);
+            } else {
+                refCust.setValueType(customTokenValueType);
+            }
             refCust.setURI("#" + customTokenId);
             secRef.setReference(refCust);
             break;
 
         case WSConstants.CUSTOM_SYMM_SIGNING_DIRECT :
             Reference refCustd = new Reference(document);
-            refCustd.setValueType(customTokenValueType);
+            if 
(WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customTokenValueType)) {
+                secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE);
+                refCustd.setValueType(customTokenValueType);
+            } else if 
(WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customTokenValueType)) {
+                secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE);
+            } else {
+                refCustd.setValueType(customTokenValueType);
+            }
             refCustd.setURI(customTokenId);
             secRef.setReference(refCustd);
             break;
             
         case WSConstants.CUSTOM_KEY_IDENTIFIER:
             secRef.setKeyIdentifier(customTokenValueType, customTokenId);
+            if 
(WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customTokenValueType)) {
+                secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE);
+            } else if 
(WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customTokenValueType)) {
+                secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE);
+            }
             break;
             
         case WSConstants.KEY_VALUE:


Reply via email to