From f7be2173201d6ef2d559ef4e8fdfef5534eee29e Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 24 Feb 2014 10:10:05 +0000
Subject: [PATCH] #593 feature - Added basic functionality (without server sync) to validate licenses and create request files

---
 src/main/java/net/curisit/securis/LicenseValidator.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/main/java/net/curisit/securis/LicenseValidator.java b/src/main/java/net/curisit/securis/LicenseValidator.java
index b622885..23c9ea7 100644
--- a/src/main/java/net/curisit/securis/LicenseValidator.java
+++ b/src/main/java/net/curisit/securis/LicenseValidator.java
@@ -4,20 +4,27 @@
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 
+import net.curisit.securis.beans.RequestBean;
+import net.curisit.securis.utils.JsonUtils;
 import net.curisit.securis.utils.LicUtils;
 
 import org.apache.commons.io.IOUtils;
 
 public class LicenseValidator {
 
+	public static LicenseValidator singleton = new LicenseValidator();
 	private byte[] LOGO_SECRET;
 
-	public LicenseValidator() {
+	private LicenseValidator() {
 		try {
 			LOGO_SECRET = "Logo ipsum s3cr3t test áíóú".getBytes("utf-8");
 		} catch (UnsupportedEncodingException e) {
 			e.printStackTrace();
 		}
+	}
+
+	public static LicenseValidator getInstance() {
+		return singleton;
 	}
 
 	/**
@@ -33,4 +40,17 @@
 			return null;
 		}
 	}
+
+	public void validateLogo(RequestBean reqBean) throws SeCurisException {
+		String currentCRC = getCrcLogo();
+		if (!currentCRC.equals(reqBean.getCrcLogo()))
+			throw new SeCurisException("License logo validation failed for request data: " + JsonUtils.toJSON(reqBean));
+	}
+
+	public void validateHW(RequestBean reqBean, String appCode, String customerCode) throws SeCurisException {
+		RequestBean currentHW = ReqGenerator.getInstance().createRequest(appCode, customerCode);
+		if (!currentHW.match(reqBean))
+			throw new SeCurisException("Current System info mismatch the License System info: " + JsonUtils.toJSON(reqBean));
+	}
+
 }

--
Gitblit v1.3.2