[jboss-svn-commits] JBL Code SVN: r36012 - in labs/jbossrules/soa_branches/BRMS-5.1.x: drools-propertiesservice and 23 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Nov 19 09:34:32 EST 2010


Author: tsurdilovic
Date: 2010-11-19 09:34:30 -0500 (Fri, 19 Nov 2010)
New Revision: 36012

Added:
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/pom.xml
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesService.java
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesServiceMBean.java
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/MANIFEST.MF
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/jboss-service.xml
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/test/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/test/java/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/test/java/org/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/test/java/org/drools/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/test/java/org/drools/brmspropertiesservice/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/MANIFEST.MF
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/jboss-service.xml
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/drools/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/drools/propertiesservice/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/drools/propertiesservice/PropertiesService.class
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/drools/propertiesservice/PropertiesServiceMBean.class
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS-sources.jar
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS-test-sources.jar
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS.sar
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/MANIFEST.MF
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/jboss-service.xml
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/drools/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/drools/propertiesservice/
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/drools/propertiesservice/PropertiesService.class
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/drools/propertiesservice/PropertiesServiceMBean.class
   labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/test-classes/
Log:
drools properties service module that helps with encrypting brms properties. deployed as sar file onto jboss servers

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/pom.xml
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/pom.xml	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/pom.xml	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1,58 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<parent>
+		<artifactId>drools</artifactId>
+		<groupId>org.drools</groupId>
+		<version>5.1.0.BRMS</version>
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>drools-propertiesservice</artifactId>
+	<name>Drools :: Properties Service</name>
+	<packaging>jboss-sar</packaging>
+
+	<properties>
+
+	</properties>
+
+	<dependencies>
+		<!-- Logging -->
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-jdk14</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-simple</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-log4j12</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>jcl-over-slf4j</artifactId>
+			<scope>provided</scope>
+		</dependency>
+	</dependencies>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>jboss-packaging-maven-plugin</artifactId>
+				<version>2.1.1</version>
+				<!-- Enable packaging types and lifecycle bindings. -->
+				<extensions>true</extensions>
+			</plugin>
+
+		</plugins>
+
+	</build>
+</project>


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/pom.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesService.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesService.java	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesService.java	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1,137 @@
+package org.drools.propertiesservice;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.math.BigInteger;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Properties;
+
+import javax.crypto.Cipher;
+import javax.crypto.spec.SecretKeySpec;
+
+import org.apache.log4j.Logger;
+
+public class PropertiesService implements PropertiesServiceMBean {
+	private static final String mykey = "brms";
+
+	private Logger log = Logger.getLogger(this.getClass());
+	private String brmsPropertiesFilename;
+
+	public String getBrmsPropertiesFilename() {
+		return brmsPropertiesFilename;
+	}
+
+	public void setBrmsPropertiesFilename(String brmsPropertiesFilename) {
+		this.brmsPropertiesFilename = brmsPropertiesFilename;
+	}
+
+	public void start() {
+		log.info("Starting PropertiesService");
+		loadBRMSProperties();
+	}
+
+	public void stop() {
+		log.info("Stopping PropertiesService");
+	}
+	
+	private void loadBRMSProperties() {
+		try {
+			URL url = this.getClass().getClassLoader().getResource(brmsPropertiesFilename);
+			Properties properties = new Properties();
+			properties.load(new FileInputStream(new File(url.getPath())));
+			
+			for (Enumeration e = properties.propertyNames(); e.hasMoreElements();) {
+				String key = (String) e.nextElement();
+				String encryptedValue = properties.getProperty(key);
+		
+				String value = decryptBlowfish(encryptedValue);
+
+				System.setProperty(key, value);
+			}
+		} catch (Exception e) {
+			log.error(e.getMessage());
+		}
+	}
+
+	public static String encryptBlowfish(String val) {
+		try {
+			SecretKeySpec key = new SecretKeySpec(mykey.getBytes(), "Blowfish");
+			Cipher cipher = Cipher.getInstance("Blowfish");
+			cipher.init(Cipher.ENCRYPT_MODE, key);
+			byte[] encoding = cipher.doFinal(val.getBytes());
+			return new BigInteger(encoding).toString(16);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+
+	public static String decryptBlowfish(String val) {
+		try {
+			
+			SecretKeySpec key = new SecretKeySpec(mykey.getBytes(), "Blowfish");
+			Cipher cipher = Cipher.getInstance("Blowfish");
+			cipher.init(Cipher.DECRYPT_MODE, key);
+			byte[] decrypted = cipher.doFinal(new BigInteger(val, 16).toByteArray());
+			return new String(decrypted);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+
+	public static void main(String[] args) {
+		try {
+			// private
+			String privKeyStoreURL;
+			String privKeyStorePwd;
+			String privKeyAlias;
+			String privKeyPwd;
+			//public
+			String pubKeyStoreURL;
+			String pubKeyStorePwd;
+			
+			System.out.println("******* Private keystore data: ");
+			System.out.println("1) key store url: ");
+			BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
+			privKeyStoreURL = br1.readLine();
+			
+			System.out.println("2) key store password: ");
+			BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
+			privKeyStorePwd = br2.readLine();
+			
+			System.out.println("3) key alias: ");
+			BufferedReader br3 = new BufferedReader(new InputStreamReader(System.in));
+			privKeyAlias = br3.readLine();
+			
+			System.out.println("4) key password: ");
+			BufferedReader br4 = new BufferedReader(new InputStreamReader(System.in));
+			privKeyPwd = br4.readLine();
+			
+			System.out.println("******* Public keystore data: ");
+			System.out.println("1) key store url: ");
+			BufferedReader br5 = new BufferedReader(new InputStreamReader(System.in));
+			pubKeyStoreURL = br5.readLine();
+			
+			System.out.println("2) key store password: ");
+			BufferedReader br6 = new BufferedReader(new InputStreamReader(System.in));
+			pubKeyStorePwd = br6.readLine();
+			
+			System.out.println("****** Generated Properties: ******");
+			System.out.println("****** Copy lines below to $JBOSS_HOME/server/$CONFIG/conf/brms.properties");
+			
+			System.out.println("drools.serialization.sign=" + encryptBlowfish("true"));
+			System.out.println("drools.serialization.private.keyStoreURL=" + encryptBlowfish(privKeyStoreURL));
+			System.out.println("drools.serialization.private.keyStorePwd=" + encryptBlowfish(privKeyStorePwd));
+			System.out.println("drools.serialization.private.keyAlias=" + encryptBlowfish(privKeyAlias));
+			System.out.println("drools.serialization.private.keyPwd=" + encryptBlowfish(privKeyPwd));
+			System.out.println("drools.serialization.public.keyStoreURL=" + encryptBlowfish(pubKeyStoreURL));
+			System.out.println("drools.serialization.public.keyStorePwd=" + encryptBlowfish(pubKeyStorePwd));
+			
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+}


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesService.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesServiceMBean.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesServiceMBean.java	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesServiceMBean.java	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1,8 @@
+package org.drools.propertiesservice;
+
+public interface PropertiesServiceMBean {
+	void setBrmsPropertiesFilename(String filename);
+	String getBrmsPropertiesFilename(); 
+	void start();
+	void stop();
+}


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/java/org/drools/propertiesservice/PropertiesServiceMBean.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/MANIFEST.MF	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1 @@
+Manifest-Version: 1.0
\ No newline at end of file


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/jboss-service.xml
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/jboss-service.xml	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/jboss-service.xml	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+    <mbean code="org.drools.propertiesservice.PropertiesService" 
+           name="BRMSProperties:service=BRMSProperties">
+        <attribute name="BrmsPropertiesFilename">brms.properties</attribute>
+        <depends>jboss.web:service=WebServer</depends>	
+    </mbean>
+</server>
\ No newline at end of file


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/src/main/resources/META-INF/jboss-service.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/MANIFEST.MF	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1 @@
+Manifest-Version: 1.0
\ No newline at end of file

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/jboss-service.xml
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/jboss-service.xml	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/META-INF/jboss-service.xml	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+    <mbean code="org.drools.propertiesservice.PropertiesService" 
+           name="BRMSProperties:service=BRMSProperties">
+        <attribute name="BrmsPropertiesFilename">brms.properties</attribute>
+        <depends>jboss.web:service=WebServer</depends>	
+    </mbean>
+</server>
\ No newline at end of file

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/drools/propertiesservice/PropertiesService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/drools/propertiesservice/PropertiesService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/drools/propertiesservice/PropertiesServiceMBean.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/classes/org/drools/propertiesservice/PropertiesServiceMBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/MANIFEST.MF	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/MANIFEST.MF	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1 @@
+Manifest-Version: 1.0
\ No newline at end of file

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/jboss-service.xml
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/jboss-service.xml	                        (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/META-INF/jboss-service.xml	2010-11-19 14:34:30 UTC (rev 36012)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+    <mbean code="org.drools.propertiesservice.PropertiesService" 
+           name="BRMSProperties:service=BRMSProperties">
+        <attribute name="BrmsPropertiesFilename">brms.properties</attribute>
+        <depends>jboss.web:service=WebServer</depends>	
+    </mbean>
+</server>
\ No newline at end of file

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/drools/propertiesservice/PropertiesService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/drools/propertiesservice/PropertiesService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/drools/propertiesservice/PropertiesServiceMBean.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS/org/drools/propertiesservice/PropertiesServiceMBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS-sources.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS-sources.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS-test-sources.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS-test-sources.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS.sar
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-propertiesservice/target/drools-propertiesservice-5.1.0.BRMS.sar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream



More information about the jboss-svn-commits mailing list