Repository: commons-crypto Updated Branches: refs/heads/master 07fcb4b15 -> 9182668cc
CRYPTO-92 Handling default properties; allow SystemProperties to be ignored Only use the provided property instance. Fixes #64 Project: http://git-wip-us.apache.org/repos/asf/commons-crypto/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-crypto/commit/9182668c Tree: http://git-wip-us.apache.org/repos/asf/commons-crypto/tree/9182668c Diff: http://git-wip-us.apache.org/repos/asf/commons-crypto/diff/9182668c Branch: refs/heads/master Commit: 9182668cce2abf3081a0e2ae274b3c5b9f9edd8e Parents: 07fcb4b Author: Sebb <s...@apache.org> Authored: Wed Jun 29 22:27:14 2016 +0100 Committer: Sebb <s...@apache.org> Committed: Wed Jun 29 22:27:14 2016 +0100 ---------------------------------------------------------------------- .../crypto/cipher/CryptoCipherFactory.java | 8 ++----- .../apache/commons/crypto/cipher/JceCipher.java | 15 +------------ .../crypto/random/CryptoRandomFactory.java | 7 ++----- .../commons/crypto/random/OsCryptoRandom.java | 22 +++----------------- .../crypto/stream/CryptoInputStream.java | 7 +------ 5 files changed, 9 insertions(+), 50 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/9182668c/src/main/java/org/apache/commons/crypto/cipher/CryptoCipherFactory.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/crypto/cipher/CryptoCipherFactory.java b/src/main/java/org/apache/commons/crypto/cipher/CryptoCipherFactory.java index d9047cd..d6f908a 100644 --- a/src/main/java/org/apache/commons/crypto/cipher/CryptoCipherFactory.java +++ b/src/main/java/org/apache/commons/crypto/cipher/CryptoCipherFactory.java @@ -167,12 +167,8 @@ public class CryptoCipherFactory { * @return the cipher class based on the props. */ private static String getCipherClassString(Properties props) { - final String configName = ConfigurationKeys.CIPHER_CLASSES_KEY; - String cipherClassString = props.getProperty(configName) != null ? props - .getProperty(configName, CIPHER_CLASSES_DEFAULT) - : System.getProperty(configName, - CIPHER_CLASSES_DEFAULT); - if (cipherClassString.isEmpty()) { + String cipherClassString = props.getProperty(ConfigurationKeys.CIPHER_CLASSES_KEY, CIPHER_CLASSES_DEFAULT); + if (cipherClassString.isEmpty()) { // TODO does it make sense to treat the empty string as the default? cipherClassString = CIPHER_CLASSES_DEFAULT; } return cipherClassString; http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/9182668c/src/main/java/org/apache/commons/crypto/cipher/JceCipher.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/crypto/cipher/JceCipher.java b/src/main/java/org/apache/commons/crypto/cipher/JceCipher.java index d09a65a..c4a8654 100644 --- a/src/main/java/org/apache/commons/crypto/cipher/JceCipher.java +++ b/src/main/java/org/apache/commons/crypto/cipher/JceCipher.java @@ -50,7 +50,7 @@ class JceCipher implements CryptoCipher { // Please ensure that property use is documented in the enum CryptoRandomFactory.RandomProvider public JceCipher(Properties props, String transformation) throws GeneralSecurityException { - String provider = getJCEProvider(props); + final String provider = props.getProperty(ConfigurationKeys.CIPHER_JCE_PROVIDER_KEY); if (provider == null || provider.isEmpty()) { cipher = Cipher.getInstance(transformation); } else { @@ -204,17 +204,4 @@ class JceCipher implements CryptoCipher { public void close() { // Do nothing } - - /** - * Gets the Jce provider. - * - * @param props The <code>Properties</code> class represents a set of - * properties. - * @return the jce provider based on the props. - */ - private static String getJCEProvider(Properties props) { - return props.getProperty(ConfigurationKeys.CIPHER_JCE_PROVIDER_KEY) != - null ? props.getProperty(ConfigurationKeys.CIPHER_JCE_PROVIDER_KEY) - : System.getProperty(ConfigurationKeys.CIPHER_JCE_PROVIDER_KEY); - } } http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/9182668c/src/main/java/org/apache/commons/crypto/random/CryptoRandomFactory.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/crypto/random/CryptoRandomFactory.java b/src/main/java/org/apache/commons/crypto/random/CryptoRandomFactory.java index 1f997fb..ef20536 100644 --- a/src/main/java/org/apache/commons/crypto/random/CryptoRandomFactory.java +++ b/src/main/java/org/apache/commons/crypto/random/CryptoRandomFactory.java @@ -165,11 +165,8 @@ public class CryptoRandomFactory { * @return the CryptoRandom class based on the props. */ private static String getRandomClassString(Properties props) { - final String configName = ConfigurationKeys.SECURE_RANDOM_CLASSES_KEY; - String randomClassString = props.getProperty(configName) != null ? props - .getProperty(configName, SECURE_RANDOM_CLASSES_DEFAULT) - : System.getProperty(configName, SECURE_RANDOM_CLASSES_DEFAULT); - if (randomClassString.isEmpty()) { + String randomClassString = props.getProperty(ConfigurationKeys.SECURE_RANDOM_CLASSES_KEY, SECURE_RANDOM_CLASSES_DEFAULT); + if (randomClassString.isEmpty()) { // TODO does it make sense to treat the empty string as the default? randomClassString = SECURE_RANDOM_CLASSES_DEFAULT; } return randomClassString; http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/9182668c/src/main/java/org/apache/commons/crypto/random/OsCryptoRandom.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/crypto/random/OsCryptoRandom.java b/src/main/java/org/apache/commons/crypto/random/OsCryptoRandom.java index 8ea2add..b93177a 100644 --- a/src/main/java/org/apache/commons/crypto/random/OsCryptoRandom.java +++ b/src/main/java/org/apache/commons/crypto/random/OsCryptoRandom.java @@ -69,7 +69,9 @@ class OsCryptoRandom extends Random implements CryptoRandom { // N.B. this class is not public/protected so does not appear in the main Javadoc // Please ensure that property use is documented in the enum CryptoRandomFactory.RandomProvider public OsCryptoRandom(Properties props) { - File randomDevFile = new File(getRandomDevPath(props)); + File randomDevFile = new File( + props.getProperty(ConfigurationKeys.SECURE_RANDOM_DEVICE_FILE_PATH_KEY, + ConfigurationKeys.SECURE_RANDOM_DEVICE_FILE_PATH_DEFAULT)); try { close(); @@ -135,22 +137,4 @@ class OsCryptoRandom extends Random implements CryptoRandom { } } - /** - * Gets the random device path. - * - * @param props The <code>Properties</code> class represents a set of - * properties. - * @return the random device path based on the props. - */ - private static String getRandomDevPath(Properties props) { - String devPath = props - .getProperty(ConfigurationKeys.SECURE_RANDOM_DEVICE_FILE_PATH_KEY); - if (devPath == null) { - devPath = System.getProperty( - ConfigurationKeys.SECURE_RANDOM_DEVICE_FILE_PATH_KEY, - ConfigurationKeys.SECURE_RANDOM_DEVICE_FILE_PATH_DEFAULT); - } - return devPath; - } - } http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/9182668c/src/main/java/org/apache/commons/crypto/stream/CryptoInputStream.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/crypto/stream/CryptoInputStream.java b/src/main/java/org/apache/commons/crypto/stream/CryptoInputStream.java index 9c4b97a..f2d3680 100644 --- a/src/main/java/org/apache/commons/crypto/stream/CryptoInputStream.java +++ b/src/main/java/org/apache/commons/crypto/stream/CryptoInputStream.java @@ -610,12 +610,7 @@ public class CryptoInputStream extends InputStream implements * @return the buffer size. * */ static int getBufferSize(Properties props) { - String bufferSizeStr = props - .getProperty(ConfigurationKeys.STREAM_BUFFER_SIZE_KEY); - if (bufferSizeStr == null || bufferSizeStr.isEmpty()) { - bufferSizeStr = System - .getProperty(ConfigurationKeys.STREAM_BUFFER_SIZE_KEY); - } + String bufferSizeStr = props.getProperty(ConfigurationKeys.STREAM_BUFFER_SIZE_KEY); if (bufferSizeStr == null || bufferSizeStr.isEmpty()) { return ConfigurationKeys.STREAM_BUFFER_SIZE_DEFAULT; }