kumaab commented on code in PR #442: URL: https://github.com/apache/ranger/pull/442#discussion_r1880821717
########## agents-common/src/test/java/org/apache/ranger/plugin/util/PasswordUtilsTest.java: ########## @@ -17,178 +17,175 @@ package org.apache.ranger.plugin.util; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import org.apache.hadoop.thirdparty.com.google.common.base.Joiner; +import org.junit.Test; import java.io.IOException; import java.security.NoSuchAlgorithmException; -import org.apache.hadoop.thirdparty.com.google.common.base.Joiner; -import org.junit.Test; - +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; public class PasswordUtilsTest { - - @Test - public void testEncrypt() throws IOException { - // encryption of password that contains no configuration info is using legacy - // cryptography algorithm for backward compatibility. - String encryptedPassword = PasswordUtils.encryptPassword("secretPasswordNoOneWillEverKnow"); - assertNotNull(encryptedPassword); - assertEquals("ljoJ3gf4T018Xr+BujPAqBDW8Onp1PqprsLKmxus8pGGBETtAVU6OQ==", encryptedPassword); - } - - @Test - public void testDecrypt() throws IOException { - String decryptedPassword = PasswordUtils - .decryptPassword("ljoJ3gf4T018Xr+BujPAqBDW8Onp1PqprsLKmxus8pGGBETtAVU6OQ=="); - - assertNotNull(decryptedPassword); - assertEquals("secretPasswordNoOneWillEverKnow", decryptedPassword); - } - - @Test - public void testEncryptWithExplicitDefaultWeakAlgorithm() throws IOException { - String freeTextPasswordMetaData = join("PBEWithMD5AndDES", "ENCRYPT_KEY", "SALTSALT", "4"); - String encryptedPassword = PasswordUtils - .encryptPassword(join(freeTextPasswordMetaData, "secretPasswordNoOneWillEverKnow")); - assertNotNull(encryptedPassword); - - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals("secretPasswordNoOneWillEverKnow", decryptedPassword); - } - - @Test - public void testEncryptWithSHA1AndDESede() throws IOException { - String freeTextPasswordMetaData = join("PBEWithSHA1AndDESede", "ENCRYPT_KEY", "SALTSALT", "4"); - String encryptedPassword = PasswordUtils - .encryptPassword(join(freeTextPasswordMetaData, "secretPasswordNoOneWillEverKnow")); - assertNotNull(encryptedPassword); - - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals("secretPasswordNoOneWillEverKnow", decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = join("PBEWITHHMACSHA512ANDAES_128", "ENCRYPT_KEY", "SALTSALT", "4", - PasswordUtils.generateIvIfNeeded("PBEWITHHMACSHA512ANDAES_128")); - String encryptedPassword = PasswordUtils - .encryptPassword(join(freeTextPasswordMetaData, "secretPasswordNoOneWillEverKnow")); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals("secretPasswordNoOneWillEverKnow", decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128WithMultipleComasInPass() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = "asd,qwe,123"; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128WithSingleComaInPass() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = "asd,123"; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128EndingWithSingleComa() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = "asd,"; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128StartingWithSingleComa() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = ",asd"; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128MultipleComasInTheEnd() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = "asd,,"; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128MultipleComasSurroundingText() - throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = ",,a,,"; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128MultipleComasBeforeText() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = ",,,a"; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128MultipleComasOnlyPassword() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = ",,,"; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testEncryptWithSHA512AndAES128SingleComaOnlyPassword() throws IOException, NoSuchAlgorithmException { - String freeTextPasswordMetaData = "PBEWITHHMACSHA512ANDAES_128,tzL1AKl5uc4NKYaoQ4P3WLGIBFPXWPWdu1fRm9004jtQiV,f77aLYLo,1000,9f3vNL0ijeHF4RWN/yUo0A=="; - String freeTextPassword = ","; - String encryptedPassword = PasswordUtils.encryptPassword(join(freeTextPasswordMetaData, freeTextPassword)); - - assertNotNull(encryptedPassword); - String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); - assertEquals(freeTextPassword, decryptedPassword); - } - - @Test - public void testDecryptEmptyResultInNull() throws Throwable { - String string0 = PasswordUtils.decryptPassword(""); - assertNull(string0); - } - - private String join(String... strings) { - return Joiner.on(",").skipNulls().join(strings); - } + @Test + public void testEncrypt() throws IOException { + // encryption of password that contains no configuration info is using legacy + // cryptography algorithm for backward compatibility. + String encryptedPassword = PasswordUtils.encryptPassword("secretPasswordNoOneWillEverKnow"); + assertNotNull(encryptedPassword); + assertEquals("ljoJ3gf4T018Xr+BujPAqBDW8Onp1PqprsLKmxus8pGGBETtAVU6OQ==", encryptedPassword); + } + + @Test + public void testDecrypt() throws IOException { + String decryptedPassword = PasswordUtils + .decryptPassword("ljoJ3gf4T018Xr+BujPAqBDW8Onp1PqprsLKmxus8pGGBETtAVU6OQ=="); + + assertNotNull(decryptedPassword); + assertEquals("secretPasswordNoOneWillEverKnow", decryptedPassword); + } + + @Test + public void testEncryptWithExplicitDefaultWeakAlgorithm() throws IOException { + String freeTextPasswordMetaData = join("PBEWithMD5AndDES", "ENCRYPT_KEY", "SALTSALT", "4"); + String encryptedPassword = PasswordUtils + .encryptPassword(join(freeTextPasswordMetaData, "secretPasswordNoOneWillEverKnow")); + assertNotNull(encryptedPassword); + + String decryptedPassword = PasswordUtils.decryptPassword(join(freeTextPasswordMetaData, encryptedPassword)); + assertEquals("secretPasswordNoOneWillEverKnow", decryptedPassword); + } + + @Test + public void testEncryptWithSHA1AndDESede() throws IOException { + String freeTextPasswordMetaData = join("PBEWithSHA1AndDESede", "ENCRYPT_KEY", "SALTSALT", "4"); + String encryptedPassword = PasswordUtils + .encryptPassword(join(freeTextPasswordMetaData, "secretPasswordNoOneWillEverKnow")); Review Comment: Please use a single line, there are other occurrences as well. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@ranger.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org