You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by co...@apache.org on 2017/07/19 10:41:46 UTC
syncope git commit: Fixing the installer to work with SSHA256
Repository: syncope
Updated Branches:
refs/heads/master 0367ace84 -> 39d1e6179
Fixing the installer to work with SSHA256
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/39d1e617
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/39d1e617
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/39d1e617
Branch: refs/heads/master
Commit: 39d1e61798e8eda628ed1f36b4af25a313911083
Parents: 0367ace
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Wed Jul 19 11:41:37 2017 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Wed Jul 19 11:41:37 2017 +0100
----------------------------------------------------------------------
installer/pom.xml | 5 +++
.../syncope/installer/utilities/MavenUtils.java | 42 +++++++++++++-------
installer/src/main/resources/izpack/install.xml | 1 +
3 files changed, 33 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/39d1e617/installer/pom.xml
----------------------------------------------------------------------
diff --git a/installer/pom.xml b/installer/pom.xml
index 227bd89..7db2240 100644
--- a/installer/pom.xml
+++ b/installer/pom.xml
@@ -87,6 +87,11 @@ under the License.
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jasypt</groupId>
+ <artifactId>jasypt</artifactId>
+ </dependency>
+
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/syncope/blob/39d1e617/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java b/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
index 59ee898..27f0c2a 100644
--- a/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
+++ b/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
@@ -23,23 +23,17 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
-import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
-import org.apache.commons.codec.binary.Hex;
import org.apache.commons.io.FileUtils;
import org.apache.maven.shared.invoker.DefaultInvocationRequest;
import org.apache.maven.shared.invoker.DefaultInvoker;
@@ -49,6 +43,8 @@ import org.apache.maven.shared.invoker.Invoker;
import org.apache.maven.shared.invoker.MavenInvocationException;
import org.apache.maven.shared.invoker.PrintStreamHandler;
import org.apache.maven.shared.invoker.PrintStreamLogger;
+import org.jasypt.commons.CommonUtils;
+import org.jasypt.digest.StandardStringDigester;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
@@ -119,15 +115,9 @@ public class MavenUtils {
properties.setProperty("jwsKey", jwsKey);
if (adminPassword != null) {
- try {
- final MessageDigest cript = MessageDigest.getInstance("SHA-1");
- String encodedPassword =
- new String(Hex.encodeHex(cript.digest(adminPassword.getBytes(StandardCharsets.UTF_8))));
- properties.setProperty("adminPassword", encodedPassword);
- } catch (final NoSuchAlgorithmException ex) {
- Logger.getLogger(MavenUtils.class.getName()).log(Level.SEVERE, "NoSuchAlgorithmException", ex);
-
- }
+ StandardStringDigester digester = getDigester("S-SHA-256");
+ String encodedPassword = digester.digest(adminPassword);
+ properties.setProperty("adminPassword", encodedPassword);
}
properties.setProperty("version", "1.0-SNAPSHOT");
return properties;
@@ -245,4 +235,26 @@ public class MavenUtils {
}
return tempSettingsXML;
}
+
+ private static StandardStringDigester getDigester(final String cipherAlgorithm) {
+ StandardStringDigester digester = new StandardStringDigester();
+
+ if (cipherAlgorithm.startsWith("S-")) {
+ // Salted ...
+ digester.setAlgorithm(cipherAlgorithm.replaceFirst("S\\-", ""));
+ digester.setIterations(1);
+ digester.setSaltSizeBytes(8);
+ digester.setInvertPositionOfPlainSaltInEncryptionResults(true);
+ digester.setInvertPositionOfSaltInMessageBeforeDigesting(true);
+ digester.setUseLenientSaltSizeCheck(true);
+ } else {
+ // Not salted ...
+ digester.setAlgorithm(cipherAlgorithm);
+ digester.setIterations(1);
+ digester.setSaltSizeBytes(0);
+ }
+
+ digester.setStringOutputType(CommonUtils.STRING_OUTPUT_TYPE_HEXADECIMAL);
+ return digester;
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/39d1e617/installer/src/main/resources/izpack/install.xml
----------------------------------------------------------------------
diff --git a/installer/src/main/resources/izpack/install.xml b/installer/src/main/resources/izpack/install.xml
index 023cea3..3a65898 100644
--- a/installer/src/main/resources/izpack/install.xml
+++ b/installer/src/main/resources/izpack/install.xml
@@ -140,6 +140,7 @@ under the License.
<jar src="lib/jackson-databind-@{jackson.version}.jar"/>
<jar src="lib/jackson-core-@{jackson.version}.jar"/>
<jar src="lib/jackson-annotations-@{jackson.version}.jar"/>
+ <jar src="lib/jasypt-@{jasypt.version}.jar"/>
<jar src="lib/maven-invoker-@{maven-invoker.version}.jar"/>
<jar src="lib/plexus-utils-3.0.24.jar"/>