You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2014/02/20 18:02:23 UTC

[2/2] git commit: More work on CXF-5572

More work on CXF-5572


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/3085f0fb
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/3085f0fb
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/3085f0fb

Branch: refs/heads/master
Commit: 3085f0fb44f1b7655bcc83019be20890aa9337a3
Parents: 1823faf
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Thu Feb 20 17:01:52 2014 +0000
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Thu Feb 20 17:01:52 2014 +0000

----------------------------------------------------------------------
 .../cxf/ws/security/wss4j/WSS4JUtils.java       | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/3085f0fb/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java
----------------------------------------------------------------------
diff --git a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java
index c4dca26..4f11167 100644
--- a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java
+++ b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JUtils.java
@@ -19,6 +19,7 @@
 package org.apache.cxf.ws.security.wss4j;
 
 import java.io.IOException;
+import java.math.BigInteger;
 import java.net.URL;
 import java.security.Key;
 import java.util.Date;
@@ -43,6 +44,7 @@ import org.apache.wss4j.common.cache.ReplayCacheFactory;
 import org.apache.wss4j.stax.ext.WSSConstants;
 import org.apache.wss4j.stax.securityToken.WSSecurityTokenConstants;
 import org.apache.xml.security.exceptions.XMLSecurityException;
+import org.apache.xml.security.utils.Base64;
 
 /**
  * Some common functionality that can be shared between the WSS4JInInterceptor and the
@@ -92,12 +94,9 @@ public final class WSS4JUtils {
                 if (replayCache == null) {
                     String cacheKey = instanceKey;
                     if (info.getName() != null) {
-                        int hashcode = info.getName().toString().hashCode();
-                        if (hashcode < 0) {
-                            cacheKey += info.getName().toString().hashCode();
-                        } else {
-                            cacheKey += "-" + info.getName().toString().hashCode();
-                        }
+                        int hashCode = info.getName().toString().hashCode();
+                        cacheKey +=
+                            "-" + Base64.encode(BigInteger.valueOf((long)hashCode));
                     }
                     URL configFile = getConfigFileURL(message);
 
@@ -160,12 +159,9 @@ public final class WSS4JUtils {
                 TokenStoreFactory tokenStoreFactory = TokenStoreFactory.newInstance();
                 String cacheKey = SecurityConstants.TOKEN_STORE_CACHE_INSTANCE;
                 if (info.getName() != null) {
-                    int hashcode = info.getName().toString().hashCode();
-                    if (hashcode < 0) {
-                        cacheKey += info.getName().toString().hashCode();
-                    } else {
-                        cacheKey += "-" + info.getName().toString().hashCode();
-                    }
+                    int hashCode = info.getName().toString().hashCode();
+                    cacheKey +=
+                        "-" + Base64.encode(BigInteger.valueOf((long)hashCode));
                 }
                 tokenStore = tokenStoreFactory.newTokenStore(cacheKey, message);
                 info.setProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE, tokenStore);