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