diff options
author | pa834y <pa834y@att.com> | 2019-03-26 14:29:38 -0400 |
---|---|---|
committer | pa834y <pa834y@att.com> | 2019-03-31 19:59:20 -0400 |
commit | c1b69dfb1297365d35f2ada8690f13f787d38b4f (patch) | |
tree | f7c9780ad4cd84bb24f5d527feac83cb81f50319 /PolicyEngineUtils/src/test/java/org | |
parent | c683a67fbf4a50e68bf8736517865b43db75ed4b (diff) |
Enhancement to use the common CryptoUtils
Change-Id: I06718526382b424eab991f39a7dac1b5cf4f1b74
Issue-ID: POLICY-1422
Signed-off-by: pa834y <pa834y@att.com>
Diffstat (limited to 'PolicyEngineUtils/src/test/java/org')
-rw-r--r-- | PolicyEngineUtils/src/test/java/org/onap/policy/utils/PeCryptoUtilsTest.java | 64 | ||||
-rw-r--r-- | PolicyEngineUtils/src/test/java/org/onap/policy/utils/test/CryptoUtilsTest.java | 128 |
2 files changed, 64 insertions, 128 deletions
diff --git a/PolicyEngineUtils/src/test/java/org/onap/policy/utils/PeCryptoUtilsTest.java b/PolicyEngineUtils/src/test/java/org/onap/policy/utils/PeCryptoUtilsTest.java new file mode 100644 index 000000000..3765ff2e3 --- /dev/null +++ b/PolicyEngineUtils/src/test/java/org/onap/policy/utils/PeCryptoUtilsTest.java @@ -0,0 +1,64 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP-REST + * ================================================================================ + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.utils; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import java.security.GeneralSecurityException; +import org.junit.Before; +import org.junit.Test; +import org.powermock.reflect.Whitebox; + + +public class PeCryptoUtilsTest { + private final String pass = "policy_user"; + private final String secretKey = "bmpybWJrbGN4dG9wbGF3Zg=="; + private final String encryptedPass = "enc:5ID9PoqWIzBaut+KQcAFBtci9CKDRcCNRHRjdBnXM5U="; + private static final String PROP_AES_KEY = "org.onap.policy.encryption.aes.key"; + + @Before + public void reset() { + Whitebox.setInternalState( PeCryptoUtils.class, "cryptoUtils", (PeCryptoUtils)null); + + } + + @Test + public void testEncrypt() throws GeneralSecurityException { + assertEquals(pass, PeCryptoUtils.encrypt(pass)); + PeCryptoUtils.initAesKey(secretKey); + System.out.println("original value : " + pass + " encrypted value: " + PeCryptoUtils.encrypt(pass)); + assertNotNull(PeCryptoUtils.encrypt(pass)); + } + + @Test + public void testDecrypt() throws Exception { + assertEquals(pass, PeCryptoUtils.decrypt(pass)); + System.setProperty(PROP_AES_KEY, secretKey); + PeCryptoUtils.initAesKey(null); + System.clearProperty(PROP_AES_KEY); + assertEquals(pass, PeCryptoUtils.decrypt(encryptedPass)); + Whitebox.setInternalState( PeCryptoUtils.class, "cryptoUtils", (PeCryptoUtils)null); + Whitebox.setInternalState( PeCryptoUtils.class, "secretKey", secretKey); + PeCryptoUtils.initAesKey(" "); + assertEquals(pass, PeCryptoUtils.decrypt(pass)); + } + +} diff --git a/PolicyEngineUtils/src/test/java/org/onap/policy/utils/test/CryptoUtilsTest.java b/PolicyEngineUtils/src/test/java/org/onap/policy/utils/test/CryptoUtilsTest.java deleted file mode 100644 index e2ca78a06..000000000 --- a/PolicyEngineUtils/src/test/java/org/onap/policy/utils/test/CryptoUtilsTest.java +++ /dev/null @@ -1,128 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * PolicyEngineUtils - * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.policy.utils.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertArrayEquals; - -import java.nio.charset.StandardCharsets; -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; - -import javax.crypto.BadPaddingException; -import javax.crypto.IllegalBlockSizeException; -import javax.crypto.NoSuchPaddingException; - -import org.junit.Test; -import org.onap.policy.utils.CryptoUtils; - -public class CryptoUtilsTest { - - @Test - public final void testDecryptTxt() throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, - InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException - { - String decryptedTxt = new String(CryptoUtils.decryptTxt("g0uHKXCLyzJ6wSbpphNGsA=="), StandardCharsets.UTF_8); - assertEquals("mypass", decryptedTxt); - } - - @Test - public final void testDecryptTxtWithKey() throws InvalidKeyException, NoSuchAlgorithmException, - NoSuchPaddingException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException - { - String decryptedTxt = new String(CryptoUtils.decryptTxt("g0uHKXCLyzJ6wSbpphNGsA==", "bmpybWJrbGN4dG9wbGF3Zg=="), - StandardCharsets.UTF_8); - assertEquals("mypass", decryptedTxt); - } - - @Test - public final void testDecryptTxtNoEx() { - String decryptedTxt = new String(CryptoUtils.decryptTxtNoEx("g0uHKXCLyzJ6wSbpphNGsA=="), - StandardCharsets.UTF_8); - assertEquals("mypass", decryptedTxt); - - } - - @Test - public final void testDecryptTxtNoExStr() { - assertEquals("mypass", CryptoUtils.decryptTxtNoExStr("g0uHKXCLyzJ6wSbpphNGsA==")); - } - @Test - public final void testDecryptTxtNoExInvalidInput() { - assertArrayEquals(new byte[0], CryptoUtils.decryptTxtNoEx(null)); - assertArrayEquals(new byte[0], CryptoUtils.decryptTxtNoEx("")); - // ensure backward compatibility - assertEquals("bogus", new String(CryptoUtils.decryptTxtNoEx("bogus"), StandardCharsets.UTF_8)); - assertEquals("admin123", CryptoUtils.decryptTxtNoExStr("admin123")); - assertEquals("password", CryptoUtils.decryptTxtNoExStr("password")); - } - - @Test(expected = IllegalArgumentException.class) - public final void testDecryptTxtInvalidInput() throws InvalidKeyException, NoSuchAlgorithmException, - NoSuchPaddingException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException - { - CryptoUtils.decryptTxt("bogus"); - } - - @Test - public final void testEncryptTxt() throws InvalidKeyException, NoSuchPaddingException, - InvalidAlgorithmParameterException, NoSuchAlgorithmException, IllegalBlockSizeException, - BadPaddingException { - String txtStr = "mypass"; - byte[] txt = txtStr.getBytes(StandardCharsets.UTF_8); - assertEquals("g0uHKXCLyzJ6wSbpphNGsA==", CryptoUtils.encryptTxt(txt)); - } - - @Test - public final void testEncryptTxtWithKey() throws InvalidKeyException, - NoSuchPaddingException, InvalidAlgorithmParameterException, NoSuchAlgorithmException, - IllegalBlockSizeException, BadPaddingException { - String txtStr = "mypass"; - byte[] txt = txtStr.getBytes(StandardCharsets.UTF_8); - assertEquals("g0uHKXCLyzJ6wSbpphNGsA==", CryptoUtils.encryptTxt(txt, "bmpybWJrbGN4dG9wbGF3Zg==")); - } - - @Test - public final void testEncryptTxtNoEx() { - String txtStr = "mypass"; - byte[] txt = txtStr.getBytes(StandardCharsets.UTF_8); - assertEquals("g0uHKXCLyzJ6wSbpphNGsA==", CryptoUtils.encryptTxtNoEx(txt)); - } - - @Test - public final void testEncryptTxtNoExInvalidInput() { - String txtStr = ""; - byte[] txt = txtStr.getBytes(StandardCharsets.UTF_8); - assertEquals("", CryptoUtils.encryptTxtNoEx(txt)); - assertEquals("", CryptoUtils.encryptTxtNoEx(null)); - } - - @Test(expected = InvalidKeyException.class) - public final void testEncryptTxtWithKeyInvalid() throws InvalidKeyException, - NoSuchPaddingException, InvalidAlgorithmParameterException, NoSuchAlgorithmException, - IllegalBlockSizeException, BadPaddingException { - String txtStr = "mypass"; - byte[] txt = txtStr.getBytes(StandardCharsets.UTF_8); - CryptoUtils.encryptTxt(txt, "mykey"); - } - - -}
\ No newline at end of file |