Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 196E9200BEC for ; Thu, 29 Dec 2016 16:45:14 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 18063160B2D; Thu, 29 Dec 2016 15:45:14 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5DF36160B15 for ; Thu, 29 Dec 2016 16:45:13 +0100 (CET) Received: (qmail 36871 invoked by uid 500); 29 Dec 2016 15:45:12 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 36862 invoked by uid 99); 29 Dec 2016 15:45:12 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Dec 2016 15:45:12 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 701B9DFC47; Thu, 29 Dec 2016 15:45:12 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sergeyb@apache.org To: commits@cxf.apache.org Message-Id: <4f6b7f584caa4d699c7994b5cba789fc@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: [CXF-6993] Adding a disabled test Date: Thu, 29 Dec 2016 15:45:12 +0000 (UTC) archived-at: Thu, 29 Dec 2016 15:45:14 -0000 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 Authored: Thu Dec 29 15:42:43 2016 +0000 Committer: Sergey Beryozkin 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 jweProviders = new LinkedList(); + + 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 perRecipientHeades = new LinkedList(); + 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