Repository: cxf Updated Branches: refs/heads/3.0.x-fixes 614e2f027 -> 82591273f
[CXF-6883] - Crypto caching issues in the WS-Security code # Conflicts: # rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/4045d4f2 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/4045d4f2 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/4045d4f2 Branch: refs/heads/3.0.x-fixes Commit: 4045d4f213caf550fa65b1896068c1bb948e1d77 Parents: 614e2f0 Author: Colm O hEigeartaigh <cohei...@apache.org> Authored: Tue Apr 26 14:20:31 2016 +0100 Committer: Colm O hEigeartaigh <cohei...@apache.org> Committed: Tue Apr 26 15:03:05 2016 +0100 ---------------------------------------------------------------------- .../wss4j/policyhandlers/AbstractBindingBuilder.java | 12 +++++++++++- .../wss4j/policyhandlers/SymmetricBindingHandler.java | 1 - 2 files changed, 11 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/4045d4f2/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java ---------------------------------------------------------------------- diff --git a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java index 4d33fc7..9fd781f 100644 --- a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java +++ b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java @@ -298,7 +298,14 @@ public abstract class AbstractBindingBuilder extends AbstractCommonBindingHandle Map<Object, Crypto> o = CastUtils.cast((Map<?, ?>)message.getContextualProperty(CRYPTO_CACHE)); if (o == null) { +<<<<<<< HEAD o = new ConcurrentHashMap<Object, Crypto>(); +======= + o = CastUtils.cast((Map<?, ?>)info.getProperty(CRYPTO_CACHE)); + } + if (o == null) { + o = new ConcurrentHashMap<>(); +>>>>>>> ea1b593... [CXF-6883] - Crypto caching issues in the WS-Security code info.setProperty(CRYPTO_CACHE, o); } return o; @@ -1489,6 +1496,9 @@ public abstract class AbstractBindingBuilder extends AbstractCommonBindingHandle crypto.verifyTrust(certs, enableRevocation, null); } } + if (crypto != null) { + this.message.getExchange().put(SecurityConstants.ENCRYPT_CRYPTO, crypto); + } return crypto; } @@ -1739,7 +1749,7 @@ public abstract class AbstractBindingBuilder extends AbstractCommonBindingHandle crypto = getEncryptionCrypto(); } - if (!endorse) { + if (!encryptCrypto) { message.getExchange().put(SecurityConstants.SIGNATURE_CRYPTO, crypto); } String user = (String)message.getContextualProperty(userNameKey); http://git-wip-us.apache.org/repos/asf/cxf/blob/4045d4f2/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java ---------------------------------------------------------------------- diff --git a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java index e520d2a..69ac52f 100644 --- a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java +++ b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/SymmetricBindingHandler.java @@ -537,7 +537,6 @@ public class SymmetricBindingHandler extends AbstractBindingBuilder { encr.setEphemeralKey(encrTok.getSecret()); Crypto crypto = getEncryptionCrypto(); if (crypto != null) { - this.message.getExchange().put(SecurityConstants.ENCRYPT_CRYPTO, crypto); setEncryptionUser(encr, encrToken, false, crypto); }