You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2015/02/16 17:25:41 UTC
cxf git commit: Few more mior Jwe updates
Repository: cxf
Updated Branches:
refs/heads/master 73421ee4a -> 13625b81f
Few more mior Jwe updates
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/13625b81
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/13625b81
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/13625b81
Branch: refs/heads/master
Commit: 13625b81f59622ecea5db5e3bd6ab3c8f1a9c6eb
Parents: 73421ee
Author: Sergey Beryozkin <sb...@talend.com>
Authored: Mon Feb 16 16:25:26 2015 +0000
Committer: Sergey Beryozkin <sb...@talend.com>
Committed: Mon Feb 16 16:25:26 2015 +0000
----------------------------------------------------------------------
.../cxf/rs/security/jose/jwe/AesCbcHmacJweDecryption.java | 2 +-
.../cxf/rs/security/jose/jwe/AesCbcHmacJweEncryption.java | 8 ++++----
.../java/org/apache/cxf/rs/security/jose/jwe/JweUtils.java | 7 ++++++-
.../cxf/rs/security/jose/jwe/JweJsonProducerTest.java | 9 ++-------
4 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/13625b81/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweDecryption.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweDecryption.java b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweDecryption.java
index 6b902da..68c558f 100644
--- a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweDecryption.java
+++ b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweDecryption.java
@@ -25,7 +25,7 @@ import javax.crypto.spec.IvParameterSpec;
import org.apache.cxf.rs.security.jose.jwa.Algorithm;
-public class AesCbcHmacJweDecryption extends AbstractJweDecryption {
+public class AesCbcHmacJweDecryption extends JweDecryption {
private String supportedAlgo;
public AesCbcHmacJweDecryption(KeyDecryptionAlgorithm keyDecryptionAlgo) {
this(keyDecryptionAlgo, null);
http://git-wip-us.apache.org/repos/asf/cxf/blob/13625b81/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweEncryption.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweEncryption.java b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweEncryption.java
index dc6ab44..a6a0dd2 100644
--- a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweEncryption.java
+++ b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AesCbcHmacJweEncryption.java
@@ -29,7 +29,7 @@ import javax.crypto.spec.IvParameterSpec;
import org.apache.cxf.common.util.crypto.HmacUtils;
import org.apache.cxf.rs.security.jose.jwa.Algorithm;
-public class AesCbcHmacJweEncryption extends AbstractJweEncryption {
+public class AesCbcHmacJweEncryption extends JweEncryption {
private static final Map<String, String> AES_HMAC_MAP;
private static final Map<String, Integer> AES_CEK_SIZE_MAP;
static {
@@ -49,9 +49,9 @@ public class AesCbcHmacJweEncryption extends AbstractJweEncryption {
}
public AesCbcHmacJweEncryption(String cekAlgoJwt, byte[] cek,
byte[] iv, KeyEncryptionAlgorithm keyEncryptionAlgorithm) {
- super(new AesCbcContentEncryptionAlgorithm(cek, iv,
- validateCekAlgorithm(cekAlgoJwt)),
- keyEncryptionAlgorithm);
+ super(keyEncryptionAlgorithm,
+ new AesCbcContentEncryptionAlgorithm(cek, iv,
+ validateCekAlgorithm(cekAlgoJwt)));
}
@Override
http://git-wip-us.apache.org/repos/asf/cxf/blob/13625b81/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweUtils.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweUtils.java b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweUtils.java
index c0a2b45..c5aba2a 100644
--- a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweUtils.java
+++ b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweUtils.java
@@ -216,8 +216,13 @@ public final class JweUtils {
getContentEncryptionAlgorithm(key, key.getAlgorithm()));
}
public static JweEncryption getDirectKeyJweEncryption(SecretKey key, String algorithm) {
- return new JweEncryption(new DirectKeyEncryptionAlgorithm(),
+ if (Algorithm.isAesCbcHmac(algorithm)) {
+ return new AesCbcHmacJweEncryption(algorithm, key.getEncoded(),
+ null, new DirectKeyEncryptionAlgorithm());
+ } else {
+ return new JweEncryption(new DirectKeyEncryptionAlgorithm(),
getContentEncryptionAlgorithm(key, algorithm));
+ }
}
public static JweDecryption getDirectKeyJweDecryption(SecretKey key, String algorithm) {
return new JweDecryption(new DirectKeyDecryptionAlgorithm(key),
http://git-wip-us.apache.org/repos/asf/cxf/blob/13625b81/rt/rs/security/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonProducerTest.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonProducerTest.java b/rt/rs/security/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonProducerTest.java
index 80f513a..0fdcc97 100644
--- a/rt/rs/security/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonProducerTest.java
+++ b/rt/rs/security/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonProducerTest.java
@@ -219,13 +219,8 @@ public class JweJsonProducerTest extends Assert {
JweEncryptionProvider jwe = null;
if (wrapperKeyBytes == null) {
headers.asMap().remove("alg");
- if (Algorithm.isAesCbcHmac(contentEncryptionAlgo)) {
- jwe = JweUtils.createJweEncryptionProvider(new DirectKeyEncryptionAlgorithm(),
- contentEncryptionAlgo, null);
- } else {
- SecretKey cekKey = CryptoUtils.createSecretKeySpec(cek, "AES");
- jwe = JweUtils.getDirectKeyJweEncryption(cekKey, JoseConstants.A128GCM_ALGO);
- }
+ SecretKey cekKey = CryptoUtils.createSecretKeySpec(cek, "AES");
+ jwe = JweUtils.getDirectKeyJweEncryption(cekKey, contentEncryptionAlgo);
} else {
SecretKey wrapperKey = CryptoUtils.createSecretKeySpec(wrapperKeyBytes, "AES");
jwe = JweUtils.createJweEncryptionProvider(wrapperKey, headers);