X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=aaa-encrypt-service%2Fimpl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Faaa%2Fencrypt%2Fimpl%2FAAAEncryptServiceImplTest.java;h=5eac2f18eb5dbf92e1ada5c1cee003778fb9e765;hb=d61a75e3d8dba363737c06575f31cb4c905a6312;hp=32ba3eba89d1c64983b0512480cf0037fb1ce2c7;hpb=f3e6c8bf4be315fe875110e53d1ce0ca23bc7f68;p=aaa.git diff --git a/aaa-encrypt-service/impl/src/test/java/org/opendaylight/aaa/encrypt/impl/AAAEncryptServiceImplTest.java b/aaa-encrypt-service/impl/src/test/java/org/opendaylight/aaa/encrypt/impl/AAAEncryptServiceImplTest.java index 32ba3eba8..5eac2f18e 100644 --- a/aaa-encrypt-service/impl/src/test/java/org/opendaylight/aaa/encrypt/impl/AAAEncryptServiceImplTest.java +++ b/aaa-encrypt-service/impl/src/test/java/org/opendaylight/aaa/encrypt/impl/AAAEncryptServiceImplTest.java @@ -10,6 +10,8 @@ package org.opendaylight.aaa.encrypt.impl; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; +import java.nio.charset.StandardCharsets; +import java.util.Base64; import org.junit.Before; import org.junit.Test; import org.opendaylight.yang.gen.v1.config.aaa.authn.encrypt.service.config.rev160915.AaaEncryptServiceConfigBuilder; @@ -53,4 +55,82 @@ public class AAAEncryptServiceImplTest { String after = impl.decrypt(encrypt); assertEquals(before, after); } + + @Test + public void testNetconfEncodedPasswordWithoutPadding() { + changePadding(); + String password = "bmV0Y29uZgo="; + String unencrypted = impl.decrypt(password); + assertEquals(password, unencrypted); + } + + @Test + public void testNetconfEncodedPasswordWithPadding() { + String password = "bmV0Y29uZgo="; + String unencrypted = impl.decrypt(password); + assertEquals(password, unencrypted); + } + + @Test + public void testNetconfPasswordWithoutPadding() { + changePadding(); + String password = "netconf"; + String encodedPassword = Base64.getEncoder().encodeToString(password.getBytes(StandardCharsets.UTF_8)); + String unencrypted = impl.decrypt(encodedPassword); + assertEquals(encodedPassword, unencrypted); + } + + @Test + public void testNetconfPasswordWithPadding() { + String password = "netconf"; + String encodedPassword = Base64.getEncoder().encodeToString(password.getBytes(StandardCharsets.UTF_8)); + String unencrypted = impl.decrypt(encodedPassword); + assertEquals(encodedPassword, unencrypted); + } + + @Test + public void testAdminEncodedPasswordWithoutPadding() { + changePadding(); + String password = "YWRtaW4K"; + String unencrypted = impl.decrypt(password); + assertEquals(password, unencrypted); + } + + @Test + public void testAdminEncodedPasswordWithPadding() { + String password = "YWRtaW4K"; + String unencrypted = impl.decrypt(password); + assertEquals(password, unencrypted); + } + + @Test + public void testAdminPasswordWithoutPadding() { + changePadding(); + String password = "admin"; + String encodedPassword = Base64.getEncoder().encodeToString(password.getBytes(StandardCharsets.UTF_8)); + String unencrypted = impl.decrypt(encodedPassword); + assertEquals(encodedPassword, unencrypted); + } + + @Test + public void testAdminPasswordWithPadding() { + String password = "admin"; + String encodedPassword = Base64.getEncoder().encodeToString(password.getBytes(StandardCharsets.UTF_8)); + String unencrypted = impl.decrypt(encodedPassword); + assertEquals(encodedPassword, unencrypted); + } + + private void changePadding() { + impl = new AAAEncryptionServiceImpl(new EncryptServiceConfigImpl( + OSGiEncryptionServiceConfigurator.generateConfig(new AaaEncryptServiceConfigBuilder() + .setCipherTransforms("AES/CBC/NoPadding") + .setEncryptIterationCount(32768) + .setEncryptKey("") + .setEncryptKeyLength(128) + .setEncryptMethod("PBKDF2WithHmacSHA1") + .setEncryptSalt("") + .setEncryptType("AES") + .setPasswordLength(12) + .build()))); + } }