From 906de329ae885ee724c327c0babf6f382aa67a15 Mon Sep 17 00:00:00 2001 From: jendib Date: Tue, 20 Aug 2013 18:55:49 +0200 Subject: [PATCH] DB update script 6 --- .../java/com/sismics/docs/core/util/EncryptionUtil.java | 5 +++++ docs-core/src/main/resources/config.properties | 2 +- docs-core/src/main/resources/db/update/dbupdate-006-0.sql | 2 ++ .../test/java/com/sismics/docs/core/dao/jpa/TestJpa.java | 1 + .../java/com/sismics/docs/core/util/TestEncryptUtil.java | 6 ++++++ docs-web/src/dev/resources/config.properties | 2 +- docs-web/src/prod/resources/config.properties | 2 +- 7 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 docs-core/src/main/resources/db/update/dbupdate-006-0.sql diff --git a/docs-core/src/main/java/com/sismics/docs/core/util/EncryptionUtil.java b/docs-core/src/main/java/com/sismics/docs/core/util/EncryptionUtil.java index 90641c26..50963fe4 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/util/EncryptionUtil.java +++ b/docs-core/src/main/java/com/sismics/docs/core/util/EncryptionUtil.java @@ -14,6 +14,8 @@ import javax.crypto.spec.PBEKeySpec; import org.bouncycastle.jce.provider.BouncyCastleProvider; +import com.google.common.base.Strings; + /** * Encryption utilities. * @@ -47,6 +49,9 @@ public class EncryptionUtil { */ public static InputStream encryptStream(InputStream is, String privateKey) throws Exception { checkBouncyCastleProvider(); + if (Strings.isNullOrEmpty(privateKey)) { + throw new IllegalArgumentException("The private key is null or empty"); + } return new CipherInputStream(is, getCipher(privateKey, Cipher.ENCRYPT_MODE)); } diff --git a/docs-core/src/main/resources/config.properties b/docs-core/src/main/resources/config.properties index a8182ebd..cff11a73 100644 --- a/docs-core/src/main/resources/config.properties +++ b/docs-core/src/main/resources/config.properties @@ -1 +1 @@ -db.version=5 \ No newline at end of file +db.version=6 \ No newline at end of file diff --git a/docs-core/src/main/resources/db/update/dbupdate-006-0.sql b/docs-core/src/main/resources/db/update/dbupdate-006-0.sql new file mode 100644 index 00000000..1ce7f827 --- /dev/null +++ b/docs-core/src/main/resources/db/update/dbupdate-006-0.sql @@ -0,0 +1,2 @@ +alter table T_USER add column USE_PRIVATEKEY_C varchar(100) default '' not null; +update T_CONFIG set CFG_VALUE_C='6' where CFG_ID_C='DB_VERSION'; diff --git a/docs-core/src/test/java/com/sismics/docs/core/dao/jpa/TestJpa.java b/docs-core/src/test/java/com/sismics/docs/core/dao/jpa/TestJpa.java index 5fe05a9d..e61cf0a3 100644 --- a/docs-core/src/test/java/com/sismics/docs/core/dao/jpa/TestJpa.java +++ b/docs-core/src/test/java/com/sismics/docs/core/dao/jpa/TestJpa.java @@ -21,6 +21,7 @@ public class TestJpa extends BaseTransactionalTest { user.setEmail("toto@docs.com"); user.setLocaleId("fr"); user.setRoleId("admin"); + user.setPrivateKey("AwesomePrivateKey"); String id = userDao.create(user); TransactionUtil.commit(); diff --git a/docs-core/src/test/java/com/sismics/docs/core/util/TestEncryptUtil.java b/docs-core/src/test/java/com/sismics/docs/core/util/TestEncryptUtil.java index 1ef27276..bf4e53d7 100644 --- a/docs-core/src/test/java/com/sismics/docs/core/util/TestEncryptUtil.java +++ b/docs-core/src/test/java/com/sismics/docs/core/util/TestEncryptUtil.java @@ -31,6 +31,12 @@ public class TestEncryptUtil { @Test public void encryptStreamTest() throws Exception { + try { + EncryptionUtil.encryptStream(this.getClass().getResourceAsStream("/file/udhr.pdf"), ""); + Assert.fail(); + } catch (IllegalArgumentException e) { + // NOP + } InputStream inputStream = EncryptionUtil.encryptStream(this.getClass().getResourceAsStream("/file/udhr.pdf"), pk); byte[] encryptedData = Streams.readAll(inputStream); byte[] assertData = Streams.readAll(this.getClass().getResourceAsStream("/file/udhr_encrypted.pdf")); diff --git a/docs-web/src/dev/resources/config.properties b/docs-web/src/dev/resources/config.properties index 680c36e5..6c2faf82 100644 --- a/docs-web/src/dev/resources/config.properties +++ b/docs-web/src/dev/resources/config.properties @@ -1,3 +1,3 @@ api.current_version=${project.version} api.min_version=1.0 -db.version=5 \ No newline at end of file +db.version=6 \ No newline at end of file diff --git a/docs-web/src/prod/resources/config.properties b/docs-web/src/prod/resources/config.properties index 680c36e5..6c2faf82 100644 --- a/docs-web/src/prod/resources/config.properties +++ b/docs-web/src/prod/resources/config.properties @@ -1,3 +1,3 @@ api.current_version=${project.version} api.min_version=1.0 -db.version=5 \ No newline at end of file +db.version=6 \ No newline at end of file