From ef225d856cdaf8c5f5b7c08db4b1a3e01ffca90f Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 14 一月 2025 16:57:37 +0800 Subject: [PATCH] 1 --- se-modules/se-system/src/main/java/com/se/system/utils/CommonUtils.java | 2 se-modules/se-system/src/main/java/com/se/system/utils/LicenseVerifyUtils.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++ se-modules/se-system/src/main/java/com/se/system/service/inte/IAServerInfoService.java | 13 +++++- 3 files changed, 111 insertions(+), 4 deletions(-) diff --git a/se-modules/se-system/src/main/java/com/se/system/service/inte/IAServerInfoService.java b/se-modules/se-system/src/main/java/com/se/system/service/inte/IAServerInfoService.java index 00b9aa1..b564353 100644 --- a/se-modules/se-system/src/main/java/com/se/system/service/inte/IAServerInfoService.java +++ b/se-modules/se-system/src/main/java/com/se/system/service/inte/IAServerInfoService.java @@ -20,13 +20,20 @@ private static class GxServerInfosContainer { private static List<String> ipAddress = null; + private static List<String> macAddress = null; + private static String cpuSerial = null; + private static String mainBoardSerial = null; - private static boolean isIpCheck = true; + + private static boolean isIpCheck = false; + private static boolean isMacCheck = true; - private static boolean isCpuCheck = true; - private static boolean isBoardCheck = true; + + private static boolean isCpuCheck = false; + + private static boolean isBoardCheck = false; } /** diff --git a/se-modules/se-system/src/main/java/com/se/system/utils/CommonUtils.java b/se-modules/se-system/src/main/java/com/se/system/utils/CommonUtils.java index 9f967a5..c12ba02 100644 --- a/se-modules/se-system/src/main/java/com/se/system/utils/CommonUtils.java +++ b/se-modules/se-system/src/main/java/com/se/system/utils/CommonUtils.java @@ -254,7 +254,7 @@ return new String(decryptedBytes); } - public static void test(String[] args) { + public static void test() { Integer a = null; System.out.println(isNotEmpty(a)); String str = "[\"11\",\"222\"]"; diff --git a/se-modules/se-system/src/main/java/com/se/system/utils/LicenseVerifyUtils.java b/se-modules/se-system/src/main/java/com/se/system/utils/LicenseVerifyUtils.java new file mode 100644 index 0000000..c405728 --- /dev/null +++ b/se-modules/se-system/src/main/java/com/se/system/utils/LicenseVerifyUtils.java @@ -0,0 +1,100 @@ +package com.se.system.utils; + +import com.se.system.domain.vo.LicenseExtraParamVo; +import com.se.system.domain.vo.LicenseResultVo; +import com.se.system.domain.vo.LicenseVerifyMg; +import com.se.system.domain.vo.LicenseVerifyParamVo; +import com.se.system.service.CustomVerifyListenerService; +import com.se.system.service.LiceVerifyInstallListener; +import com.se.system.service.inte.IACustomVerifyListener; +import com.se.system.service.inte.IAServerInfoService; +import de.schlichtherle.license.LicenseContent; + +import java.io.File; +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; + +@SuppressWarnings("ALL") +public class LicenseVerifyUtils { + public static LicenseVerifyParamVo licenseVerifyProperties = new LicenseVerifyParamVo(); + + public static void installListener() { + licenseVerifyProperties.setSubject("se-cloud"); + licenseVerifyProperties.setPublicAlias("publiccert"); + licenseVerifyProperties.setPublicKeysStorePath("/publicCerts.store"); + licenseVerifyProperties.setStorePass("Se_System_20!24"); + // licenseVerifyProperties.setLicensePath("classpath:license.lic"); + String serverTempPath = IAServerInfoService.getServerTempPath() + "/lic-files/"; + String latestLicFilePath = getLatestLicFilePath(serverTempPath); + licenseVerifyProperties.setLicensePath(latestLicFilePath + File.separator + "license.lic"); + + // 瀹夎璇佷功 + LiceVerifyInstallListener.LicenseVerifyInstall(licenseVerifyProperties); + // 娣诲姞鑷畾涔夋牎楠屾ā寮� + initCustomVerifyListener(); + // 鏍¢獙璇佷功 + LicenseVerify(); + } + + /** + * 鑷畾涔夋牎楠屾ā寮忔瘮濡俵icense鍒嗗彂 + */ + public static void initCustomVerifyListener() { + new CustomVerifyListenerService(); + // new CustomVerifyListenerB(); + } + + public static void LicenseVerify() { + LicenseVerifyMg licenseVerifyManager = new LicenseVerifyMg(); + LicenseResultVo verifyResult = licenseVerifyManager.verify(licenseVerifyProperties.getVerifyParam()); + if (!verifyResult.getResult()) { + System.out.println(verifyResult.getMessage()); + } + LicenseContent content = verifyResult.getContent(); + LicenseExtraParamVo licenseCheck = (LicenseExtraParamVo) content.getExtra(); + if (verifyResult.getResult()) { + /** 澧炲姞涓氬姟绯荤粺鐩戝惉锛屾槸鍚﹁嚜瀹氫箟楠岃瘉 */ + List<IACustomVerifyListener> customListenerList = IACustomVerifyListener.getCustomListenerList(); + boolean compare = true; + for (IACustomVerifyListener listener : customListenerList) { + boolean verify = listener.verify(licenseCheck); + compare = compare && verify; + } + if (true) { + System.out.println("licnese 鏍¢獙鎴愬姛"); + return; + } else { + throw new RuntimeException("license 鏍¢獙澶辫触"); + } + } + + throw new RuntimeException(verifyResult.getException().getMessage()); + } + + public static String getLatestLicFilePath(String folderPath) { + File folder = new File(folderPath); + + if (folder.isDirectory()) { + File[] files = folder.listFiles(); + + if (files != null && files.length > 0) { + // 鎸夋枃浠舵渶鍚庝慨鏀规椂闂存帓搴� + Arrays.sort(files, Comparator.comparingLong(File::lastModified).reversed()); + + // 杩斿洖鏈�鏂版枃浠剁殑璺緞 + return files[0].getAbsolutePath(); + } + } + + // 濡傛灉鏂囦欢澶逛腑娌℃湁lic鏂囦欢锛岃繑鍥瀗ull鎴栬�呬綘璁や负鍚堥�傜殑鍊� + return null; + } + + public static void test() { + installListener(); + LicenseVerify(); + LicenseVerify(); + LicenseVerify(); + } +} -- Gitblit v1.9.3