From 4375b16c3315128fc57929fb7584172ff1e683c4 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Thu, 17 Jul 2014 14:24:33 +0000
Subject: [PATCH] #0 feature - Minor changes
---
/dev/null | 152 --------------------------------------------------
1 files changed, 0 insertions(+), 152 deletions(-)
diff --git a/src/patch/java/net/curisit/securis/LicenseGenerator.java b/src/patch/java/net/curisit/securis/LicenseGenerator.java
deleted file mode 100644
index 3675c26..0000000
--- a/src/patch/java/net/curisit/securis/LicenseGenerator.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package net.curisit.securis;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.nio.file.StandardOpenOption;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.security.Signature;
-import java.security.SignatureException;
-import java.security.spec.InvalidKeySpecException;
-import java.text.MessageFormat;
-import java.util.Date;
-import java.util.Map;
-import java.util.TreeMap;
-
-import net.curisit.securis.beans.LicenseBean;
-import net.curisit.securis.beans.RequestBean;
-import net.curisit.securis.beans.SignedLicenseBean;
-import net.curisit.securis.utils.JsonUtils;
-import net.curisit.securis.utils.SignatureHelper;
-
-import org.apache.commons.net.util.Base64;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-/**
- * License generator and signer
- *
- * @author roberto <roberto.sanchez@curisit.net>
- */
-public class LicenseGenerator {
-
- private static final Logger log = LogManager.getLogger(LicenseGenerator.class);
-
- private static LicenseGenerator singleton = new LicenseGenerator();
-
- private LicenseGenerator() {
- }
-
- public static LicenseGenerator getInstance() {
- return singleton;
- }
-
- /**
- * Generate a license bean with the specified data
- *
- * @param hw
- * @param customerCode
- * - e.g: "BP"
- * @param maxInstances
- * @param maxUsers
- * @param maxTimeThreshold
- * Max time between synchronizations expressed in days
- * @return
- * @throws SeCurisException
- */
- public LicenseBean generateLicense(RequestBean req, Map<String, Object> metadata, Date expirationDate, String licenseType, String licenseCode) throws SeCurisException {
- log.info(MessageFormat.format("Generating license: MAC: {0}, Customer code: {1}, AppCode: {2}", req.getMacAddresses(), req.getCustomerCode(), req.getAppCode()));
- LicenseBean license = new LicenseBean(req);
- license.setLicenseType(licenseType);
- license.setLicenseCode(licenseCode);
- license.setExpirationDate(expirationDate);
- license.setMetadata(metadata);
- sign(license);
-
- return license;
- }
-
- /**
- * Generate a license file using a {@link LicenseBean}
- *
- * @param license
- * @param file
- * @throws SeCurisException
- */
- public void save(LicenseBean license, File file) throws SeCurisException {
- SignedLicenseBean signedLic = new SignedLicenseBean(license);
- byte[] json;
- try {
- json = JsonUtils.toJSON(signedLic, true).getBytes("utf-8");
- Files.write(Paths.get(file.toURI()), json, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
- } catch (UnsupportedEncodingException e) {
- log.error("Error creating json doc from license: " + license, e);
- throw new SeCurisException("Error creating json doc from license: " + license, e);
- } catch (IOException e) {
- log.error("Error creating license file: " + file, e);
- throw new SeCurisException("Error creating json doc from license: " + license, e);
- }
-
- log.info("License saved in {}", file);
-
- }
-
- /**
- * TODO: This method should be removed from client code.
- *
- * @param licBean
- * @return
- * @throws NoSuchAlgorithmException
- * @throws IOException
- * @throws InvalidKeySpecException
- * @throws InvalidKeyException
- * @throws SignatureException
- */
- public String sign(LicenseBean licBean) throws SeCurisException {
- SignatureHelper sh = SignatureHelper.getInstance();
-
- Signature signature;
- try {
- signature = Signature.getInstance(SignatureHelper.SIGNATURE_GENERATION_ALGORITHM);
- signature.initSign(sh.generatePrivateKey(new File("/Users/cproberto/Documents/wsPython/doky/tests/securis_private_key.pkcs8")));
-
- sh.prepareSignature(signature, licBean);
-
- byte[] signatureData = signature.sign();
- licBean.setSignature(Base64.encodeBase64String(signatureData));
- return licBean.getSignature();
- } catch (NoSuchAlgorithmException e) {
- log.error("Error signing license for " + licBean, e);
- } catch (InvalidKeyException e) {
- log.error("Error signing license for " + licBean, e);
- } catch (InvalidKeySpecException e) {
- log.error("Error signing license for " + licBean, e);
- } catch (IOException e) {
- log.error("Error signing license for " + licBean, e);
- } catch (SignatureException e) {
- log.error("Error signing license for " + licBean, e);
- }
- throw new SeCurisException("License could not be generated");
- }
-
- public static void main(String[] args) throws SeCurisException {
- Paths.get(new File("/Users/cproberto/Documents/wsCurisIT/SeCurisClient/license.req").toURI());
-
- RequestBean req = ReqGenerator.getInstance().loadRequest(new File("/Users/cproberto/Downloads/license-2.req"));
- Map<String, Object> metadata = new TreeMap<>();
- metadata.put("maxUsers", 0);
- metadata.put("maxInstances", 0);
- metadata.put("timeThreshold", 0);
- metadata.put("datasetPrefix", "BP");
- metadata.put("extendedMode", true);
-
- LicenseBean lic = LicenseGenerator.getInstance().generateLicense(req, metadata, new Date(new Date().getTime() + 3600 * 1000), "CI-CS-01", "LIC-CESAR-00001");
- LicenseGenerator.getInstance().save(lic, new File("/Users/cproberto/Desktop/license_cesar.lic"));
-
- System.out.print("os.arch: " + System.getProperty("os.arch") + " " + System.getProperty("os.name"));
-
- }
-}
--
Gitblit v1.3.2