You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2010/09/02 15:47:41 UTC
svn commit: r991934 - in /activemq/trunk: ./ activemq-console/
activemq-console/src/main/java/org/apache/activemq/console/command/
activemq-core/ activemq-core/src/test/resources/
activemq-core/src/test/resources/org/apache/activemq/security/ assembly/...
Author: dejanb
Date: Thu Sep 2 13:47:40 2010
New Revision: 991934
URL: http://svn.apache.org/viewvc?rev=991934&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQ-2460 - encrypted passwords
Added:
activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/DecryptCommand.java
activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/EncryptCommand.java
activemq/trunk/activemq-core/src/test/resources/credentials.properties
Modified:
activemq/trunk/activemq-console/pom.xml
activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/ShellCommand.java
activemq/trunk/activemq-core/pom.xml
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml
activemq/trunk/assembly/pom.xml
activemq/trunk/assembly/src/main/descriptors/common-bin.xml
activemq/trunk/assembly/src/release/conf/activemq.xml
activemq/trunk/assembly/src/release/conf/credentials.properties
activemq/trunk/assembly/src/release/webapps/admin/WEB-INF/webconsole-embedded.xml
activemq/trunk/assembly/src/release/webapps/camel/WEB-INF/applicationContext.xml
activemq/trunk/assembly/src/sample-conf/activemq-security.xml
activemq/trunk/pom.xml
Modified: activemq/trunk/activemq-console/pom.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-console/pom.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/activemq-console/pom.xml (original)
+++ activemq/trunk/activemq-console/pom.xml Thu Sep 2 13:47:40 2010
@@ -118,6 +118,14 @@
<groupId>net.sf.josql</groupId>
<artifactId>gentlyweb-utils</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jasypt</groupId>
+ <artifactId>jasypt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.ibm.icu</groupId>
+ <artifactId>icu4j</artifactId>
+ </dependency>
</dependencies>
<build>
Added: activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/DecryptCommand.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/DecryptCommand.java?rev=991934&view=auto
==============================================================================
--- activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/DecryptCommand.java (added)
+++ activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/DecryptCommand.java Thu Sep 2 13:47:40 2010
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.console.command;
+
+import java.util.List;
+
+import org.jasypt.exceptions.EncryptionOperationNotPossibleException;
+
+public class DecryptCommand extends EncryptCommand {
+
+ protected String[] helpFile = new String[] {
+ "Task Usage: Main decrypt --password <password> --input <input>",
+ "Description: Decrypts given text.",
+ "",
+ "Encrypt Options:",
+ " --password <password> Password to be used by the encryptor.",
+ " --input <input> Text to be encrypted.",
+ " --version Display the version information.",
+ " -h,-?,--help Display the stop broker help information.",
+ ""
+ };
+
+ @Override
+ protected void runTask(List<String> tokens) throws Exception {
+ if (password == null || input == null) {
+ context.printException(new IllegalArgumentException("input and password parameters are mandatory"));
+ return;
+ }
+ encryptor.setPassword(password);
+ try {
+ context.print("Decrypted text: " + encryptor.decrypt(input));
+ } catch (EncryptionOperationNotPossibleException e) {
+ context.print("ERROR: Text cannot be decrypted, check your input and password and try again!");
+ }
+ }
+
+
+
+}
Added: activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/EncryptCommand.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/EncryptCommand.java?rev=991934&view=auto
==============================================================================
--- activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/EncryptCommand.java (added)
+++ activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/EncryptCommand.java Thu Sep 2 13:47:40 2010
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.console.command;
+
+import java.util.List;
+
+import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
+
+public class EncryptCommand extends AbstractCommand {
+
+ protected String[] helpFile = new String[] {
+ "Task Usage: Main encrypt --password <password> --input <input>",
+ "Description: Encrypts given text.",
+ "",
+ "Encrypt Options:",
+ " --password <password> Password to be used by the encryptor.",
+ " --input <input> Text to be encrypted.",
+ " --version Display the version information.",
+ " -h,-?,--help Display the stop broker help information.",
+ ""
+ };
+
+ StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
+ String input;
+ String password;
+
+ @Override
+ protected void printHelp() {
+ context.printHelp(helpFile);
+ }
+
+ @Override
+ protected void runTask(List<String> tokens) throws Exception {
+ if (password == null || input == null) {
+ context.printException(new IllegalArgumentException("input and password parameters are mandatory"));
+ return;
+ }
+ encryptor.setPassword(password);
+ context.print("Encrypted text: " + encryptor.encrypt(input));
+ }
+
+ @Override
+ protected void handleOption(String token, List<String> tokens) throws Exception {
+ if (token.startsWith("--input")) {
+ if (tokens.isEmpty() || ((String)tokens.get(0)).startsWith("-")) {
+ context.printException(new IllegalArgumentException("input not specified"));
+ return;
+ }
+
+ input=(String)tokens.remove(0);
+ } else if (token.startsWith("--password")) {
+ if (tokens.isEmpty() || ((String)tokens.get(0)).startsWith("-")) {
+ context.printException(new IllegalArgumentException("password not specified"));
+ return;
+ }
+
+ password=(String)tokens.remove(0);
+ } else {
+ super.handleOption(token, tokens);
+ }
+ }
+
+
+
+}
Modified: activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/ShellCommand.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/ShellCommand.java?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/ShellCommand.java (original)
+++ activemq/trunk/activemq-console/src/main/java/org/apache/activemq/console/command/ShellCommand.java Thu Sep 2 13:47:40 2010
@@ -49,6 +49,8 @@ public class ShellCommand extends Abstra
" browse - Display selected messages in a specified destination.",
" journal-audit - Allows you to view records stored in the persistent journal.",
" purge - Delete selected destination's messages that matches the message selector",
+ " encrypt - Encrypts given text",
+ " decrypt - Decrypts given text",
"",
"Task Options (Options specific to each task):",
" --extdir <dir> - Add the jar files in the directory to the classpath.",
@@ -126,6 +128,10 @@ public class ShellCommand extends Abstra
command = new PurgeCommand();
} else if (taskToken.equals("journal-audit")) {
command = new AMQJournalToolCommand();
+ } else if (taskToken.equals("encrypt")) {
+ command = new EncryptCommand();
+ } else if (taskToken.equals("decrypt")) {
+ command = new DecryptCommand();
} else if (taskToken.equals("help")) {
printHelp();
} else {
Modified: activemq/trunk/activemq-core/pom.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/pom.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/activemq-core/pom.xml (original)
+++ activemq/trunk/activemq-core/pom.xml Thu Sep 2 13:47:40 2010
@@ -138,7 +138,7 @@
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<optional>true</optional>
- </dependency>
+ </dependency>
<!-- for XML parsing -->
<dependency>
@@ -229,6 +229,15 @@
<artifactId>activemq-jmdns_1.0</artifactId>
<optional>true</optional>
</dependency>
+
+ <dependency>
+ <groupId>org.jasypt</groupId>
+ <artifactId>jasypt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.ibm.icu</groupId>
+ <artifactId>icu4j</artifactId>
+ </dependency>
<!-- database testing -->
<dependency>
Added: activemq/trunk/activemq-core/src/test/resources/credentials.properties
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/resources/credentials.properties?rev=991934&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/test/resources/credentials.properties (added)
+++ activemq/trunk/activemq-core/src/test/resources/credentials.properties Thu Sep 2 13:47:40 2010
@@ -0,0 +1,24 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements. See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+# Defines credentials that will be used by components (like web console) to access the broker
+
+activemq.username=system
+#activemq.password=manager
+activemq.password=ENC(mYRkg+4Q4hua1kvpCCI2hg==)
+#guest.password=password
+guest.password=ENC(Cf3Jf3tM+UrSOoaKU50od5CuBa8rxjoL)
\ No newline at end of file
Modified: activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml (original)
+++ activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/security/simple-auth-broker.xml Thu Sep 2 13:47:40 2010
@@ -25,7 +25,15 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+ <bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
+ <property name="algorithm" value="PBEWithMD5AndDES"/>
+ <property name="password" value="activemq"/>
+ </bean>
+
+ <bean id="propertyConfigurer" class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
+ <constructor-arg ref="configurationEncryptor" />
+ <property name="location" value="classpath:credentials.properties"/>
+ </bean>
<broker useJmx="true" persistent="false" xmlns="http://activemq.apache.org/schema/core" populateJMSXUserID="true">
@@ -41,11 +49,11 @@
<plugins>
<simpleAuthenticationPlugin>
<users>
- <authenticationUser username="system" password="manager"
+ <authenticationUser username="system" password="${activemq.password}"
groups="users,admins"/>
- <authenticationUser username="user" password="password"
+ <authenticationUser username="user" password="${guest.password}"
groups="users"/>
- <authenticationUser username="guest" password="password" groups="guests"/>
+ <authenticationUser username="guest" password="${guest.password}" groups="guests"/>
</users>
</simpleAuthenticationPlugin>
Modified: activemq/trunk/assembly/pom.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/assembly/pom.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/assembly/pom.xml (original)
+++ activemq/trunk/assembly/pom.xml Thu Sep 2 13:47:40 2010
@@ -318,7 +318,14 @@
<groupId>stax</groupId>
<artifactId>stax</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>org.jasypt</groupId>
+ <artifactId>jasypt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.ibm.icu</groupId>
+ <artifactId>icu4j</artifactId>
+ </dependency>
<dependency>
<groupId>junit</groupId>
Modified: activemq/trunk/assembly/src/main/descriptors/common-bin.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/assembly/src/main/descriptors/common-bin.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/assembly/src/main/descriptors/common-bin.xml (original)
+++ activemq/trunk/assembly/src/main/descriptors/common-bin.xml Thu Sep 2 13:47:40 2010
@@ -210,6 +210,8 @@
<include>org.codehaus.jettison:jettison</include>
<include>org.apache.velocity:velocity</include>
<include>net.sf.josql:josql</include>
+ <include>org.jasypt:jasypt</include>
+ <include>com.ibm.icu:icu4j</include>
</includes>
</dependencySet>
<dependencySet>
Modified: activemq/trunk/assembly/src/release/conf/activemq.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/conf/activemq.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/assembly/src/release/conf/activemq.xml (original)
+++ activemq/trunk/assembly/src/release/conf/activemq.xml Thu Sep 2 13:47:40 2010
@@ -21,12 +21,16 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
- <!-- Allows us to use system properties as variables in this configuration file -->
- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <value>file:${activemq.base}/conf/credentials.properties</value>
- </property>
- </bean>
+ <!-- Allows us to use encrypted system properties as variables in this configuration file -->
+ <bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
+ <property name="algorithm" value="PBEWithMD5AndDES"/>
+ <property name="password" value="activemq"/>
+ </bean>
+
+ <bean id="propertyConfigurer" class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
+ <constructor-arg ref="configurationEncryptor" />
+ <property name="location" value="file:${activemq.base}/conf/credentials.properties"/>
+ </bean>
<!--
The <broker> element is used to configure the ActiveMQ broker.
Modified: activemq/trunk/assembly/src/release/conf/credentials.properties
URL: http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/conf/credentials.properties?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/assembly/src/release/conf/credentials.properties (original)
+++ activemq/trunk/assembly/src/release/conf/credentials.properties Thu Sep 2 13:47:40 2010
@@ -18,4 +18,7 @@
# Defines credentials that will be used by components (like web console) to access the broker
activemq.username=system
-activemq.password=manager
\ No newline at end of file
+#activemq.password=manager
+activemq.password=ENC(mYRkg+4Q4hua1kvpCCI2hg==)
+#guest.password=password
+guest.password=ENC(Cf3Jf3tM+UrSOoaKU50od5CuBa8rxjoL)
\ No newline at end of file
Modified: activemq/trunk/assembly/src/release/webapps/admin/WEB-INF/webconsole-embedded.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/webapps/admin/WEB-INF/webconsole-embedded.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/assembly/src/release/webapps/admin/WEB-INF/webconsole-embedded.xml (original)
+++ activemq/trunk/assembly/src/release/webapps/admin/WEB-INF/webconsole-embedded.xml Thu Sep 2 13:47:40 2010
@@ -21,11 +21,16 @@
<import resource="webconsole-query.xml"/>
- <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <value>file:${activemq.base}/conf/credentials.properties</value>
- </property>
- </bean>
+ <!-- Allows us to use encrypted system properties as variables in this configuration file -->
+ <bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
+ <property name="algorithm" value="PBEWithMD5AndDES"/>
+ <property name="password" value="activemq"/>
+ </bean>
+
+ <bean id="propertyConfigurer" class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
+ <constructor-arg ref="configurationEncryptor" />
+ <property name="location" value="file:${activemq.base}/conf/credentials.properties"/>
+ </bean>
<!-- use the following bean for a local in-JVM broker -->
<bean id="brokerQuery" class="org.apache.activemq.web.SingletonBrokerFacade" autowire="constructor" scope="prototype"/>
Modified: activemq/trunk/assembly/src/release/webapps/camel/WEB-INF/applicationContext.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/assembly/src/release/webapps/camel/WEB-INF/applicationContext.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/assembly/src/release/webapps/camel/WEB-INF/applicationContext.xml (original)
+++ activemq/trunk/assembly/src/release/webapps/camel/WEB-INF/applicationContext.xml Thu Sep 2 13:47:40 2010
@@ -25,11 +25,16 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
">
- <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <value>file:${activemq.base}/conf/credentials.properties</value>
- </property>
- </bean>
+ <!-- Allows us to use encrypted system properties as variables in this configuration file -->
+ <bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
+ <property name="algorithm" value="PBEWithMD5AndDES"/>
+ <property name="password" value="activemq"/>
+ </bean>
+
+ <bean id="propertyConfigurer" class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
+ <constructor-arg ref="configurationEncryptor" />
+ <property name="location" value="file:${activemq.base}/conf/credentials.properties"/>
+ </bean>
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
Modified: activemq/trunk/assembly/src/sample-conf/activemq-security.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/assembly/src/sample-conf/activemq-security.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/assembly/src/sample-conf/activemq-security.xml (original)
+++ activemq/trunk/assembly/src/sample-conf/activemq-security.xml Thu Sep 2 13:47:40 2010
@@ -32,11 +32,16 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <value>file:${activemq.base}/conf/credentials.properties</value>
- </property>
- </bean>
+ <!-- Allows us to use encrypted system properties as variables in this configuration file -->
+ <bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
+ <property name="algorithm" value="PBEWithMD5AndDES"/>
+ <property name="password" value="activemq"/>
+ </bean>
+
+ <bean id="propertyConfigurer" class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
+ <constructor-arg ref="configurationEncryptor" />
+ <property name="location" value="file:${activemq.base}/conf/credentials.properties"/>
+ </bean>
<broker useJmx="true" persistent="false" xmlns="http://activemq.apache.org/schema/core" destroyApplicationContextOnStop="true">
@@ -44,11 +49,11 @@
<!-- Configure authentication; Username, passwords and groups -->
<simpleAuthenticationPlugin>
<users>
- <authenticationUser username="system" password="manager"
+ <authenticationUser username="system" password="${activemq.password}"
groups="users,admins"/>
- <authenticationUser username="user" password="password"
+ <authenticationUser username="user" password="${guest.password}"
groups="users"/>
- <authenticationUser username="guest" password="password" groups="guests"/>
+ <authenticationUser username="guest" password="${guest.password}" groups="guests"/>
</users>
</simpleAuthenticationPlugin>
Modified: activemq/trunk/pom.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/pom.xml?rev=991934&r1=991933&r2=991934&view=diff
==============================================================================
--- activemq/trunk/pom.xml (original)
+++ activemq/trunk/pom.xml Thu Sep 2 13:47:40 2010
@@ -61,6 +61,8 @@
<geronimo-version>1.0</geronimo-version>
<howl-version>0.1.8</howl-version>
<hsqldb-version>1.7.2.2</hsqldb-version>
+ <icu-version>4.0.1</icu-version>
+ <jasypt-version>1.6</jasypt-version>
<jdom-version>1.0</jdom-version>
<jetty-version>7.0.1.v20091125</jetty-version>
<jsp-version>2.1.v20100127</jsp-version>
@@ -821,6 +823,18 @@
<artifactId>aopalliance</artifactId>
<version>${aopalliance-version}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.jasypt</groupId>
+ <artifactId>jasypt</artifactId>
+ <version>${jasypt-version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.ibm.icu</groupId>
+ <artifactId>icu4j</artifactId>
+ <version>${icu-version}</version>
+ </dependency>
<!-- testing dependencies -->
<dependency>