You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2014/02/19 21:08:19 UTC

svn commit: r1569893 - /wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/security/Hmac.java

Author: scottbw
Date: Wed Feb 19 20:08:19 2014
New Revision: 1569893

URL: http://svn.apache.org/r1569893
Log:
Improved support for ISO datetime format in timestamps

Modified:
    wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/security/Hmac.java

Modified: wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/security/Hmac.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/security/Hmac.java?rev=1569893&r1=1569892&r2=1569893&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/security/Hmac.java (original)
+++ wookie/trunk/wookie-server/src/main/java/org/apache/wookie/server/security/Hmac.java Wed Feb 19 20:08:19 2014
@@ -51,9 +51,9 @@ public class Hmac {
 	/**
 	 * Date formatter for ISO datetime
 	 */
-	private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"){ 
+	private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"){ 
 		private static final long serialVersionUID = 7465240007718011363L;
-		public Date parse(String source,ParsePosition pos) {    
+		public Date parse(String source,ParsePosition pos) {  
 	        return super.parse(source.replaceFirst(":(?=[0-9]{2}$)",""),pos);
 	    }
 	};
@@ -137,6 +137,14 @@ public class Hmac {
 		// datetime, the request is not valid
 		//
 		Date timestampDate = null;
+		
+		//
+		// Check for Z instead of UTC
+		//
+		if (timestamp.endsWith("Z")){
+			timestamp = timestamp.replace("Z", "+0000");
+		}
+		
 		try {
 			timestampDate = dateFormat.parse(timestamp);
 		} catch (ParseException e1) {