¶Ô±ÈÐÂÎļþ |
| | |
| | | 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(); |
| | | } |
| | | |
| | | /** |
| | | * èªå®ä¹æ ¡éªæ¨¡å¼æ¯å¦licenseåå |
| | | */ |
| | | 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æä»¶ï¼è¿ånullæè
ä½ è®¤ä¸ºåéçå¼ |
| | | return null; |
| | | } |
| | | |
| | | public static void test() { |
| | | installListener(); |
| | | LicenseVerify(); |
| | | LicenseVerify(); |
| | | LicenseVerify(); |
| | | } |
| | | } |