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 2016/12/29 15:45:12 UTC
cxf git commit: [CXF-6993] Adding a disabled test
Repository: cxf
Updated Branches:
refs/heads/3.1.x-fixes feaececcc -> d83a99912
[CXF-6993] Adding a disabled test
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d83a9991
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d83a9991
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d83a9991
Branch: refs/heads/3.1.x-fixes
Commit: d83a99912eda32fe6545bc01aaf30a0dd54797a7
Parents: feaecec
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Thu Dec 29 15:42:43 2016 +0000
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Thu Dec 29 15:44:54 2016 +0000
----------------------------------------------------------------------
.../security/jose/jwe/JweJsonConsumerTest.java | 48 +++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/d83a9991/rt/rs/security/jose-parent/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonConsumerTest.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/jose-parent/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonConsumerTest.java b/rt/rs/security/jose-parent/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonConsumerTest.java
index f8c3026..1d073c6 100644
--- a/rt/rs/security/jose-parent/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonConsumerTest.java
+++ b/rt/rs/security/jose-parent/jose/src/test/java/org/apache/cxf/rs/security/jose/jwe/JweJsonConsumerTest.java
@@ -20,11 +20,14 @@ package org.apache.cxf.rs.security.jose.jwe;
import java.security.Security;
import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import org.apache.cxf.common.util.Base64UrlUtility;
+import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.rs.security.jose.jwa.AlgorithmUtils;
import org.apache.cxf.rs.security.jose.jwa.ContentAlgorithm;
import org.apache.cxf.rs.security.jose.jwa.KeyAlgorithm;
@@ -34,6 +37,7 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
public class JweJsonConsumerTest extends Assert {
@@ -131,13 +135,55 @@ public class JweJsonConsumerTest extends Assert {
@Test
public void testMultipleRecipients() {
+ doTestMultipleRecipients(JweJsonProducerTest.MULTIPLE_RECIPIENTS_OUTPUT);
+ }
+ @Test
+ @Ignore
+ public void testMultipleRecipientsAutogeneratedCek() {
+ final String text = "The true sign of intelligence is not knowledge but imagination.";
+ SecretKey wrapperKey1 = CryptoUtils.createSecretKeySpec(JweJsonProducerTest.WRAPPER_BYTES1, "AES");
+ SecretKey wrapperKey2 = CryptoUtils.createSecretKeySpec(JweJsonProducerTest.WRAPPER_BYTES2, "AES");
+
+ JweHeaders protectedHeaders = new JweHeaders(ContentAlgorithm.A128GCM);
+ JweHeaders sharedUnprotectedHeaders = new JweHeaders();
+ sharedUnprotectedHeaders.setJsonWebKeysUrl("https://server.example.com/keys.jwks");
+ sharedUnprotectedHeaders.setKeyEncryptionAlgorithm(KeyAlgorithm.A128KW);
+
+ List<JweEncryptionProvider> jweProviders = new LinkedList<JweEncryptionProvider>();
+
+ KeyEncryptionProvider keyEncryption1 =
+ JweUtils.getSecretKeyEncryptionAlgorithm(wrapperKey1, KeyAlgorithm.A128KW);
+ ContentEncryptionProvider contentEncryption =
+ new AesGcmContentEncryptionAlgorithm(ContentAlgorithm.A128GCM);
+
+ JweEncryptionProvider jwe1 = new JweEncryption(keyEncryption1, contentEncryption);
+ KeyEncryptionProvider keyEncryption2 =
+ JweUtils.getSecretKeyEncryptionAlgorithm(wrapperKey2, KeyAlgorithm.A128KW);
+ JweEncryptionProvider jwe2 = new JweEncryption(keyEncryption2, contentEncryption);
+ jweProviders.add(jwe1);
+ jweProviders.add(jwe2);
+
+ List<JweHeaders> perRecipientHeades = new LinkedList<JweHeaders>();
+ perRecipientHeades.add(new JweHeaders("key1"));
+ perRecipientHeades.add(new JweHeaders("key2"));
+
+ JweJsonProducer p = new JweJsonProducer(protectedHeaders,
+ sharedUnprotectedHeaders,
+ StringUtils.toBytesUTF8(text),
+ StringUtils.toBytesUTF8(JweJsonProducerTest.EXTRA_AAD_SOURCE),
+ false);
+
+ String jweJson = p.encryptWith(jweProviders, perRecipientHeades);
+ doTestMultipleRecipients(jweJson);
+ }
+ private void doTestMultipleRecipients(String jweJson) {
final String text = "The true sign of intelligence is not knowledge but imagination.";
SecretKey wrapperKey1 = CryptoUtils.createSecretKeySpec(JweJsonProducerTest.WRAPPER_BYTES1,
"AES");
SecretKey wrapperKey2 = CryptoUtils.createSecretKeySpec(JweJsonProducerTest.WRAPPER_BYTES2,
"AES");
- JweJsonConsumer consumer = new JweJsonConsumer(JweJsonProducerTest.MULTIPLE_RECIPIENTS_OUTPUT);
+ JweJsonConsumer consumer = new JweJsonConsumer(jweJson);
KeyAlgorithm keyAlgo = consumer.getSharedUnprotectedHeader().getKeyEncryptionAlgorithm();
ContentAlgorithm ctAlgo = consumer.getProtectedHeader().getContentEncryptionAlgorithm();
// Recipient 1