You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2016/06/29 21:27:20 UTC

commons-crypto git commit: CRYPTO-92 Handling default properties; allow SystemProperties to be ignored

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 <se...@apache.org>
Authored: Wed Jun 29 22:27:14 2016 +0100
Committer: Sebb <se...@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;
         }