|  |  |  | 
|---|
|  |  |  | package com.zy.system.entity.license; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.core.common.Cools; | 
|---|
|  |  |  | import com.zy.system.entity.LicenseInfos; | 
|---|
|  |  |  | import com.zy.system.service.LicenseInfosService; | 
|---|
|  |  |  | import com.zy.system.timer.LicenseTimer; | 
|---|
|  |  |  | import de.schlichtherle.license.LicenseContent; | 
|---|
|  |  |  | import org.apache.logging.log4j.LogManager; | 
|---|
|  |  |  | 
|---|
|  |  |  | private String publicKeysStorePath; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LicenseTimer licenseTimer; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LicenseInfosService licenseInfosService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void onApplicationEvent(ContextRefreshedEvent event) { | 
|---|
|  |  |  | 
|---|
|  |  |  | logger.info("++++++++ 开始加载许可证 ++++++++"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | //                String publicKeysStoreFileName = this.getClass().getClassLoader().getResource(publicKeysStorePath).getPath(); | 
|---|
|  |  |  | //                File publicKeysStoreFile = new File(publicKeysStoreFileName); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //                String licensePathFileName = this.getClass().getClassLoader().getResource(licensePath).getPath(); | 
|---|
|  |  |  | //                File licensePathFile = new File(licensePathFileName); | 
|---|
|  |  |  | licenseTimer.getRemoteLicense(); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | LicenseVerifyParam param = new LicenseVerifyParam(); | 
|---|
|  |  |  | param.setSubject(subject); | 
|---|
|  |  |  | param.setPublicAlias(publicAlias); | 
|---|
|  |  |  | 
|---|
|  |  |  | param.setPublicKeysStorePath(publicKeysStorePath); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | LicenseVerify licenseVerify = new LicenseVerify(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | LicenseInfos latestLicense = licenseInfosService.getLatestLicense(); | 
|---|
|  |  |  | if (latestLicense == null) { | 
|---|
|  |  |  | logger.info("许可证不存在"); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //安装证书 | 
|---|
|  |  |  | LicenseContent install = licenseVerify.install(param); | 
|---|
|  |  |  | LicenseContent install = licenseVerify.install(param, latestLicense.getLicense()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | logger.info("++++++++ 许可证加载结束 ++++++++"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return install != null; | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|