From f1702d6537568b1677254e27d772d6aa6d658e2c Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Tue, 30 Sep 2014 11:08:45 +0000
Subject: [PATCH] #2021 fix - Added renew command in client

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

diff --git a/src/main/java/net/curisit/securis/LicenseManager.java b/src/main/java/net/curisit/securis/LicenseManager.java
index 69e3259..d05a2d2 100644
--- a/src/main/java/net/curisit/securis/LicenseManager.java
+++ b/src/main/java/net/curisit/securis/LicenseManager.java
@@ -6,6 +6,7 @@
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.nio.file.StandardOpenOption;
+import java.util.Date;
 
 import net.curisit.securis.ConnectionManager.Command;
 import net.curisit.securis.beans.LicenseBean;
@@ -57,29 +58,55 @@
 		return licBean;
 	}
 
-	/**
-	 * Validates the license stored in {@code licFile} and get the corresponding LicenseBean
-	 * <p>
-	 * The validation includes:
-	 * <ul>
-	 * <li>Signature</li>
-	 * <li>HW data</li>
-	 * <li>Logo CRC</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param licFile
-	 * @return The license bean stored in file
-	 * @throws SeCurisException
-	 */
-	public LicenseBean validateLicense(File licFile) throws SeCurisException {
-		LicenseBean licBean = load(licFile);
-		SignatureHelper.getInstance().validateSignature(licBean);
-		LicenseValidator.getInstance().validateHW(licBean, Params.get(Params.KEYS.APPLICATION_CODE), Params.get(Params.KEYS.CUSTOMER_CODE));
-		LicenseValidator.getInstance().validateLogo(licBean);
+    /**
+     * Validates the license stored in {@code licFile} and get the corresponding LicenseBean
+     * <p>
+     * The validation includes:
+     * <ul>
+     * <li>Signature</li>
+     * <li>HW data</li>
+     * <li>Logo CRC</li>
+     * </ul>
+     * </p>
+     * 
+     * @param licFile
+     * @return The license bean stored in file
+     * @throws SeCurisException
+     */
+    public LicenseBean validateLicense(File licFile) throws SeCurisException {
 
-		return licBean;
-	}
+        return validateLicense(licFile, false);
+    }
+
+    /**
+     * Validates the license stored in {@code licFile} and get the corresponding LicenseBean. The License date is not validated
+     * <p>
+     * The validation includes:
+     * <ul>
+     * <li>Signature</li>
+     * <li>HW data</li>
+     * <li>Logo CRC</li>
+     * </ul>
+     * </p>
+     * 
+     * @param licFile
+     * @return The license bean stored in file
+     * @throws SeCurisException
+     */
+    public LicenseBean validateLicense(File licFile, boolean excludeDateValidation) throws SeCurisException {
+        LicenseBean licBean = load(licFile);
+        SignatureHelper.getInstance().validateSignature(licBean);
+        LicenseValidator.getInstance().validateHW(licBean, Params.get(Params.KEYS.APPLICATION_CODE), Params.get(Params.KEYS.CUSTOMER_CODE));
+        LicenseValidator.getInstance().validateLogo(licBean);
+
+        if (!excludeDateValidation) {
+            if (new Date().after(licBean.getExpirationDate())) {
+                throw new SeCurisException("License has expired");
+            }
+        }
+
+        return licBean;
+    }
 
 	/**
 	 * Request to server for a valid license

--
Gitblit v1.3.2