Author: dkulp
Date: Fri Apr  2 11:28:21 2010
New Revision: 930245

URL: http://svn.apache.org/viewvc?rev=930245&view=rev
Log:
[CXF-2745] Add ability to set timestamp ttl

Modified:
    
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
    
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java

Modified: 
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java?rev=930245&r1=930244&r2=930245&view=diff
==============================================================================
--- 
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
 (original)
+++ 
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
 Fri Apr  2 11:28:21 2010
@@ -46,6 +46,8 @@ public final class SecurityConstants {
 
     public static final String STS_CLIENT = "ws-security.sts.client";
     
+    public static final String TIMESTAMP_TTL = 
"ws-security.timestamp.timeToLive";
+    
     /**
      * WCF's trust server sometimes will encrypt the token in the response IN 
ADDITION TO
      * the full security on the message. These properties control the way the 
STS client

Modified: 
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java?rev=930245&r1=930244&r2=930245&view=diff
==============================================================================
--- 
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java
 (original)
+++ 
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java
 Fri Apr  2 11:28:21 2010
@@ -347,6 +347,17 @@ public abstract class AbstractBindingBui
         if (ais != null) {
             for (AssertionInfo ai : ais) {
                 timestampEl = new WSSecTimestamp();
+                Object o = 
message.getContextualProperty(SecurityConstants.TIMESTAMP_TTL);
+                int ttl = 300;  //default is 300 seconds
+                if (o instanceof Number) {
+                    ttl = ((Number)o).intValue();
+                } else if (o instanceof String) {
+                    ttl = Integer.parseInt((String)o);
+                }
+                if (ttl <= 0) {
+                    ttl = 300;
+                }
+                timestampEl.setTimeToLive(ttl);
                 timestampEl.prepare(saaj.getSOAPPart());
                 ai.setAsserted(true);
             }                    


Reply via email to