From 9e7812cb52bfe64e72855eecbd28a756718ce1e1 Mon Sep 17 00:00:00 2001
From: Thomas Lenz <thomas.lenz@egiz.gv.at>
Date: Wed, 9 Dec 2020 15:37:09 +0100
Subject: update jUnit for JWE encryption by using HSM-Facade

---
 .../sl20/utils/AbstractJsonSecurityUtilsTest.java  | 52 +++++++++++++++++++++-
 .../sl20/utils/JsonSecurityUtilsHsmKeyTest.java    | 13 +++---
 2 files changed, 58 insertions(+), 7 deletions(-)

(limited to 'eaaf_modules/eaaf_module_auth_sl20/src/test/java/at')

diff --git a/eaaf_modules/eaaf_module_auth_sl20/src/test/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/AbstractJsonSecurityUtilsTest.java b/eaaf_modules/eaaf_module_auth_sl20/src/test/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/AbstractJsonSecurityUtilsTest.java
index 6550b026..cfa8868e 100644
--- a/eaaf_modules/eaaf_module_auth_sl20/src/test/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/AbstractJsonSecurityUtilsTest.java
+++ b/eaaf_modules/eaaf_module_auth_sl20/src/test/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/AbstractJsonSecurityUtilsTest.java
@@ -150,7 +150,32 @@ public abstract class AbstractJsonSecurityUtilsTest {
 
     final String encData = jwe.getCompactSerialization();
     Assert.assertNotNull("JWE", encData);
+    
+    /*
+    //decrypt it again
+    final JsonWebEncryption jweDecrypt = new JsonWebEncryption();
+    jweDecrypt.setCompactSerialization(encData);
+    jweDecrypt.setKey(JoseUtils.convertToBcKeyIfRequired(key.getFirst()));
+    
+    
+    // set special provider if required
+    if (rsaEncKeyStore.getSecond() != null) {
+      final ProviderContext providerCtx = new ProviderContext();
+      providerCtx.getSuppliedKeyProviderContext().setGeneralProvider(rsaEncKeyStore.getSecond().getName());
+      providerCtx.getGeneralProviderContext().setGeneralProvider(BouncyCastleProvider.PROVIDER_NAME);
+      jweDecrypt.setProviderContext(providerCtx);
 
+    } else {
+      final ProviderContext providerCtx = new ProviderContext();
+      providerCtx.getGeneralProviderContext().setGeneralProvider(BouncyCastleProvider.PROVIDER_NAME);
+      jweDecrypt.setProviderContext(providerCtx);
+      
+    }
+    
+    String decPayload = jweDecrypt.getPayload();
+    Assert.assertNotNull("decrypted Payload", decPayload);
+    Assert.assertEquals("Decrypted message not match", payLoad, decPayload);
+    */
 
   }
 
@@ -171,8 +196,7 @@ public abstract class AbstractJsonSecurityUtilsTest {
     // set special provider if required
     if (rsaEncKeyStore.getSecond() != null) {
       final ProviderContext providerCtx = new ProviderContext();
-      providerCtx.getSuppliedKeyProviderContext().setSignatureProvider(
-          rsaEncKeyStore.getSecond().getName());
+      providerCtx.getSuppliedKeyProviderContext().setGeneralProvider(rsaEncKeyStore.getSecond().getName());
       providerCtx.getGeneralProviderContext().setGeneralProvider(BouncyCastleProvider.PROVIDER_NAME);
       jwe.setProviderContext(providerCtx);
 
@@ -188,6 +212,30 @@ public abstract class AbstractJsonSecurityUtilsTest {
     Assert.assertNotNull("JWE", encData);
 
 
+    //decrypt it again
+    final JsonWebEncryption jweDecrypt = new JsonWebEncryption();
+    jweDecrypt.setCompactSerialization(encData);
+    jweDecrypt.setKey(JoseUtils.convertToBcKeyIfRequired(key.getFirst()));
+    
+    
+    // set special provider if required
+    if (rsaEncKeyStore.getSecond() != null) {
+      final ProviderContext providerCtx = new ProviderContext();
+      providerCtx.getSuppliedKeyProviderContext().setGeneralProvider(rsaEncKeyStore.getSecond().getName());
+      providerCtx.getGeneralProviderContext().setGeneralProvider(BouncyCastleProvider.PROVIDER_NAME);
+      jweDecrypt.setProviderContext(providerCtx);
+
+    } else {
+      final ProviderContext providerCtx = new ProviderContext();
+      providerCtx.getGeneralProviderContext().setGeneralProvider(BouncyCastleProvider.PROVIDER_NAME);
+      jweDecrypt.setProviderContext(providerCtx);
+      
+    }
+    
+    String decPayload = jweDecrypt.getPayload();
+    Assert.assertNotNull("decrypted Payload", decPayload);
+    Assert.assertEquals("Decrypted message not match", payLoad, decPayload);
+
   }
 
 
diff --git a/eaaf_modules/eaaf_module_auth_sl20/src/test/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/JsonSecurityUtilsHsmKeyTest.java b/eaaf_modules/eaaf_module_auth_sl20/src/test/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/JsonSecurityUtilsHsmKeyTest.java
index 4f8b2a23..b01330d2 100644
--- a/eaaf_modules/eaaf_module_auth_sl20/src/test/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/JsonSecurityUtilsHsmKeyTest.java
+++ b/eaaf_modules/eaaf_module_auth_sl20/src/test/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/JsonSecurityUtilsHsmKeyTest.java
@@ -3,21 +3,24 @@ package at.gv.egiz.eaaf.modules.auth.sl20.utils;
 import java.security.KeyStore;
 import java.security.Provider;
 
-import at.gv.egiz.eaaf.core.exceptions.EaafException;
-import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration;
-import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration.KeyStoreType;
-import at.gv.egiz.eaaf.core.impl.data.Pair;
-
 import org.apache.commons.lang3.StringUtils;
 import org.junit.Before;
 import org.junit.runner.RunWith;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
+import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration;
+import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration.KeyStoreType;
+import at.gv.egiz.eaaf.core.impl.data.Pair;
+
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration("/spring/test_eaaf_sl20_hsm.beans.xml")
 public class JsonSecurityUtilsHsmKeyTest extends AbstractJsonSecurityUtilsTest {
 
+  /**
+   * Initialize jUnit test.
+   */
   @Before
   public void initialize() {
     config.putConfigValue("modules.sl20.security.sigalg.rsa", "RS256");
-- 
cgit v1.2.3