diff options
| author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-04-01 09:05:40 +0200 | 
|---|---|---|
| committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-04-01 09:05:40 +0200 | 
| commit | bada55e1a4ee92bc05d55950836942ed6c3e97f6 (patch) | |
| tree | 6739d8b253ba0d8216a27094f09153e37a8fa3da /eaaf_core/src/test/java | |
| parent | ccef126ae469181b9a4a15ea16d0ab0ffa22621e (diff) | |
| download | EAAF-Components-bada55e1a4ee92bc05d55950836942ed6c3e97f6.tar.gz EAAF-Components-bada55e1a4ee92bc05d55950836942ed6c3e97f6.tar.bz2 EAAF-Components-bada55e1a4ee92bc05d55950836942ed6c3e97f6.zip | |
fix wrong format in case of encrypted wbPKs
Diffstat (limited to 'eaaf_core/src/test/java')
| -rw-r--r-- | eaaf_core/src/test/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilderTest.java | 122 | 
1 files changed, 121 insertions, 1 deletions
| diff --git a/eaaf_core/src/test/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilderTest.java b/eaaf_core/src/test/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilderTest.java index 0ca8ca53..64c13781 100644 --- a/eaaf_core/src/test/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilderTest.java +++ b/eaaf_core/src/test/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/BpkBuilderTest.java @@ -1,7 +1,14 @@  package at.gv.egiz.eaaf.core.impl.idp.auth.builder; +import java.security.InvalidKeyException; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +  import org.apache.commons.lang3.RandomStringUtils;  import org.junit.Assert; +import org.junit.Before;  import org.junit.Test;  import org.junit.runner.RunWith;  import org.junit.runners.BlockJUnit4ClassRunner; @@ -15,6 +22,118 @@ public class BpkBuilderTest {    private static final String BASEID = "RUxHQVRlc3RQQjBYWFjFkHpnw7xyX1hYWFTDvHpla8OnaQ=="; +  private KeyPair keyPair; +   +   +  /** +   * jUnit test initializer. +   * @throws NoSuchProviderException In case of an error +   * @throws NoSuchAlgorithmException  In case of an error +   */ +  @Before +  public void initialize() throws NoSuchAlgorithmException, NoSuchProviderException { +    KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"); +    keyPair = keyGen.generateKeyPair(); +     +  } +   +  @Test +  public void encBpkWrongTarget() throws InvalidKeyException { +    String bpk = RandomStringUtils.randomAlphanumeric(25); +    String target = RandomStringUtils.randomAlphanumeric(25); +     +    try { +      BpkBuilder.encryptBpk(bpk, target, keyPair.getPublic()); +      Assert.fail("Wrong parameters not detected"); +       +    } catch (EaafBuilderException e) { +      Assert.assertEquals("Wrong errorMsg", "builder.32", e.getErrorId()); +       +    } +  } +   +  @Test +  public void decBpkWrongTarget() throws InvalidKeyException { +    String bpk = RandomStringUtils.randomAlphanumeric(25); +    String target = RandomStringUtils.randomAlphanumeric(25); +     +    try { +      BpkBuilder.decryptBpk(bpk, target, keyPair.getPrivate()); +      Assert.fail("Wrong parameters not detected"); +       +    } catch (EaafBuilderException e) { +      Assert.assertEquals("Wrong errorMsg", "builder.32", e.getErrorId()); +       +    } +  } +   +  @Test +  public void decBpkWrongTargetInEncBpk() throws InvalidKeyException, EaafBuilderException { +    String bpk = RandomStringUtils.randomAlphanumeric(25); +    String target = EaafConstants.URN_PREFIX_CDID + "AA"; +     +    String encBpk = BpkBuilder.encryptBpk(bpk, target, keyPair.getPublic()); +    try { +      BpkBuilder.decryptBpk(encBpk,  +          EaafConstants.URN_PREFIX_CDID + "BB", keyPair.getPrivate()); +      Assert.fail("Wrong parameters not detected"); +       +    } catch (EaafBuilderException e) { +      Assert.assertEquals("Wrong errorMsg", "builder.30", e.getErrorId()); +       +    } +  } +   +  @Test +  public void encBpkSuccess() throws EaafBuilderException, InvalidKeyException { +    String bpk = RandomStringUtils.randomAlphanumeric(25); +    String target = EaafConstants.URN_PREFIX_CDID + "AA"; +     +    String encBpk = BpkBuilder.encryptBpk(bpk, target, keyPair.getPublic()); +     +    Assert.assertNotNull("encBpk", encBpk); +     +    Pair<String, String> decBpk = BpkBuilder.decryptBpk(encBpk, target, keyPair.getPrivate()); +     +    Assert.assertEquals("wrong bBK", bpk, decBpk.getFirst()); +    Assert.assertEquals("wrong bBK-Target", target, decBpk.getSecond()); +     +  } +   +  @Test +  public void encWbpkSuccess() throws EaafBuilderException, InvalidKeyException { +    String bpk = RandomStringUtils.randomAlphanumeric(25); +    String target = EaafConstants.URN_PREFIX_WBPK + "XFN+123456i"; +     +    String encBpk = BpkBuilder.encryptBpk(bpk, target, keyPair.getPublic()); +     +    Assert.assertNotNull("encBpk", encBpk); +     +    Pair<String, String> decBpk = BpkBuilder.decryptBpk(encBpk, target, keyPair.getPrivate()); +     +    Assert.assertEquals("wrong bBK", bpk, decBpk.getFirst()); +    Assert.assertEquals("wrong bBK-Target", target, decBpk.getSecond()); +     +  } +   +  @Test +  public void encWbpkSuccessSecond() throws EaafBuilderException, InvalidKeyException { +    String bpk = RandomStringUtils.randomAlphanumeric(25); +    String target = EaafConstants.URN_PREFIX_WBPK + "FN+123456i"; +     +    String encBpk = BpkBuilder.encryptBpk(bpk, target, keyPair.getPublic()); +     +    Assert.assertNotNull("encBpk", encBpk); +     +    Pair<String, String> decBpk = BpkBuilder.decryptBpk(encBpk,  +        EaafConstants.URN_PREFIX_WBPK + "XFN+123456i", keyPair.getPrivate()); +     +    Assert.assertEquals("wrong bBK", bpk, decBpk.getFirst()); +    Assert.assertEquals("wrong bBK-Target",  +        EaafConstants.URN_PREFIX_WBPK + "XFN+123456i", decBpk.getSecond()); +     +  } +      @Test    public void noBaseId() { @@ -316,7 +435,8 @@ public class BpkBuilderTest {    public void calcNormalizeWbpkTargetWithXMappingErsb() {      Assert.assertEquals("Wrong normalized target",           EaafConstants.URN_PREFIX_WBPK + "ERSB+998877665544",  -        BpkBuilder.normalizeBpkTargetIdentifierToCalculationFormat(EaafConstants.URN_PREFIX_WBPK + "XERSB+998877665544")); +        BpkBuilder.normalizeBpkTargetIdentifierToCalculationFormat( +            EaafConstants.URN_PREFIX_WBPK + "XERSB+998877665544"));    } | 
