Author: coheigea
Date: Thu Oct 17 13:21:56 2013
New Revision: 1533071

URL: http://svn.apache.org/r1533071
Log:
An update to use an absolute reference in some use-cases

Modified:
    
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSUtils.java
    
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java
    
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java
    
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java
    
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/validate/SecurityContextTokenValidatorImpl.java

Modified: 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSUtils.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSUtils.java?rev=1533071&r1=1533070&r2=1533071&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSUtils.java
 (original)
+++ 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSUtils.java
 Thu Oct 17 13:21:56 2013
@@ -371,10 +371,11 @@ public class WSSUtils extends XMLSecurit
 
     public static void createBSTReferenceStructure(AbstractOutputProcessor 
abstractOutputProcessor,
                                                    OutputProcessorChain 
outputProcessorChain, String referenceId,
-                                                   String valueType)
+                                                   String valueType, boolean 
includedInMessage)
             throws XMLStreamException, XMLSecurityException {
         List<XMLSecAttribute> attributes = new ArrayList<XMLSecAttribute>(2);
-        
attributes.add(abstractOutputProcessor.createAttribute(WSSConstants.ATT_NULL_URI,
 "#" + referenceId));
+        String uri = includedInMessage ? "#" + referenceId : referenceId;
+        
attributes.add(abstractOutputProcessor.createAttribute(WSSConstants.ATT_NULL_URI,
 uri));
         if (valueType != null) {
             
attributes.add(abstractOutputProcessor.createAttribute(WSSConstants.ATT_NULL_ValueType,
 valueType));
         }

Modified: 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java?rev=1533071&r1=1533070&r2=1533071&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java
 (original)
+++ 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/DerivedKeyTokenOutputProcessor.java
 Thu Oct 17 13:21:56 2013
@@ -275,7 +275,7 @@ public class DerivedKeyTokenOutputProces
 
             if (derivedKeyTokenReference == 
WSSConstants.DerivedKeyTokenReference.EncryptedKey) {
                 String valueType = WSSConstants.NS_WSS_ENC_KEY_VALUE_TYPE;
-                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, tokenId, valueType);
+                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, tokenId, valueType, true);
             } else if 
(WSSecurityTokenConstants.KeyIdentifier_IssuerSerial.equals(keyIdentifier)) {
                 WSSUtils.createX509IssuerSerialStructure(this, 
outputProcessorChain, x509Certificates);
             } else if 
(WSSecurityTokenConstants.KeyIdentifier_SkiKeyIdentifier.equals(keyIdentifier)) 
{
@@ -296,7 +296,8 @@ public class DerivedKeyTokenOutputProces
                 } else {
                     valueType = WSSConstants.NS_X509PKIPathv1;
                 }
-                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, tokenId, valueType);
+                boolean included = 
((WSSSecurityProperties)getSecurityProperties()).isIncludeSignatureToken();
+                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, tokenId, valueType, included);
             } else if 
(WSSecurityTokenConstants.KeyIdentifier_EncryptedKeySha1Identifier.equals(keyIdentifier))
 {
                 WSSUtils.createEncryptedKeySha1IdentifierStructure(this, 
outputProcessorChain, sha1Identifier);
             } else {

Modified: 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java?rev=1533071&r1=1533070&r2=1533071&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java
 (original)
+++ 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/EncryptedKeyOutputProcessor.java
 Thu Oct 17 13:21:56 2013
@@ -339,7 +339,7 @@ public class EncryptedKeyOutputProcessor
                 } else {
                     valueType = WSSConstants.NS_X509PKIPathv1;
                 }
-                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, tokenId, valueType);
+                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, tokenId, valueType, true);
             } else {
                 throw new 
WSSecurityException(WSSecurityException.ErrorCode.FAILURE, 
"unsupportedSecurityToken");
             }

Modified: 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java?rev=1533071&r1=1533070&r2=1533071&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java
 (original)
+++ 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureEndingOutputProcessor.java
 Thu Oct 17 13:21:56 2013
@@ -134,7 +134,7 @@ public class WSSSignatureEndingOutputPro
             } else if 
(WSSecurityTokenConstants.EncryptedKeyToken.equals(securityToken.getTokenType())
                 || 
WSSecurityTokenConstants.KeyIdentifier_EncryptedKey.equals(keyIdentifier)) {
                 String id = securityToken.getId();
-                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, id, WSSConstants.NS_WSS_ENC_KEY_VALUE_TYPE);
+                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, id, WSSConstants.NS_WSS_ENC_KEY_VALUE_TYPE, true);
             } else if 
(WSSecurityTokenConstants.KeyIdentifier_IssuerSerial.equals(keyIdentifier)) {
                 WSSUtils.createX509IssuerSerialStructure(this, 
outputProcessorChain, x509Certificates);
             } else if 
(WSSecurityTokenConstants.KeyIdentifier_SkiKeyIdentifier.equals(keyIdentifier)) 
{
@@ -145,6 +145,7 @@ public class WSSSignatureEndingOutputPro
                 WSSUtils.createThumbprintKeyIdentifierStructure(this, 
outputProcessorChain, x509Certificates);
             } else if 
(WSSecurityTokenConstants.KeyIdentifier_SecurityTokenDirectReference.equals(keyIdentifier))
 {
                 String valueType;
+                boolean included = true;
                 if 
(WSSecurityTokenConstants.Saml20Token.equals(securityToken.getTokenType())) {
                     valueType = null;
                 } else if 
(WSSecurityTokenConstants.KerberosToken.equals(securityToken.getTokenType())) {
@@ -156,6 +157,7 @@ public class WSSSignatureEndingOutputPro
                     } else {
                         valueType = WSSConstants.NS_WSC_05_02 + "/dk";
                     }
+                    included = 
((WSSSecurityProperties)getSecurityProperties()).isIncludeSignatureToken();
                 } else if 
(WSSecurityTokenConstants.SpnegoContextToken.equals(securityToken.getTokenType())
                     || 
WSSecurityTokenConstants.SecurityContextToken.equals(securityToken.getTokenType())
                     || 
WSSecurityTokenConstants.SecureConversationToken.equals(securityToken.getTokenType()))
 {
@@ -165,6 +167,7 @@ public class WSSSignatureEndingOutputPro
                     } else {
                         valueType = WSSConstants.NS_WSC_05_02 + "/sct";
                     }
+                    included = 
((WSSSecurityProperties)getSecurityProperties()).isIncludeSignatureToken();
                 } else {
                     if (useSingleCertificate) {
                         valueType = WSSConstants.NS_X509_V3_TYPE;
@@ -172,7 +175,7 @@ public class WSSSignatureEndingOutputPro
                         valueType = WSSConstants.NS_X509PKIPathv1;
                     }
                 }
-                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, tokenId, valueType);
+                WSSUtils.createBSTReferenceStructure(this, 
outputProcessorChain, tokenId, valueType, included);
             } else if 
(WSSecurityTokenConstants.KeyIdentifier_EmbeddedKeyIdentifierRef.equals(keyIdentifier))
 {
                 WSSUtils.createEmbeddedKeyIdentifierStructure(this, 
outputProcessorChain, securityToken.getTokenType(), tokenId);
             } else if 
(WSSecurityTokenConstants.KeyIdentifier_UsernameTokenReference.equals(keyIdentifier))
 {

Modified: 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/validate/SecurityContextTokenValidatorImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/validate/SecurityContextTokenValidatorImpl.java?rev=1533071&r1=1533070&r2=1533071&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/validate/SecurityContextTokenValidatorImpl.java
 (original)
+++ 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/validate/SecurityContextTokenValidatorImpl.java
 Thu Oct 17 13:21:56 2013
@@ -40,7 +40,7 @@ public class SecurityContextTokenValidat
             throws WSSecurityException {
 
         AbstractInboundSecurityToken securityContextToken = new 
AbstractInboundSecurityToken(
-                tokenContext.getWsSecurityContext(), 
securityContextTokenType.getId(),
+                tokenContext.getWsSecurityContext(), identifier,
                 WSSecurityTokenConstants.KeyIdentifier_ExternalReference, 
true) {
 
             @Override


Reply via email to