//package com.zy.system.entity.license; // //import com.core.common.Cools; //import de.schlichtherle.license.LicenseContent; //import org.apache.logging.log4j.LogManager; //import org.apache.logging.log4j.Logger; //import org.springframework.beans.factory.annotation.Value; //import org.springframework.context.ApplicationContext; //import org.springframework.context.ApplicationListener; //import org.springframework.context.event.ContextRefreshedEvent; //import org.springframework.stereotype.Component; // //import java.io.File; // ///** // * 在项目启动时安装证书 // */ //@Component //public class LicenseCheckListener implements ApplicationListener { // private static Logger logger = LogManager.getLogger(LicenseCheckListener.class); // // /** // * 证书subject // */ // @Value("${license.subject}") // private String subject; // // /** // * 公钥别称 // */ // @Value("${license.publicAlias}") // private String publicAlias; // // /** // * 访问公钥库的密码 // */ // @Value("${license.storePass}") // private String storePass; // // /** // * 证书生成路径 // */ // @Value("${license.licensePath}") // private String licensePath; // // /** // * 密钥库存储路径 // */ // @Value("${license.publicKeysStorePath}") // private String publicKeysStorePath; // // @Override // public void onApplicationEvent(ContextRefreshedEvent event) { // //root application context 没有parent // ApplicationContext context = event.getApplicationContext().getParent(); // if(context == null){ // loadLicense(); // } // } // // //加载证书 // public boolean loadLicense() { // if(!Cools.isEmpty(licensePath)){ // 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); // // LicenseVerifyParam param = new LicenseVerifyParam(); // param.setSubject(subject); // param.setPublicAlias(publicAlias); // param.setStorePass(storePass); // param.setLicensePath(licensePathFile.getPath()); // param.setPublicKeysStorePath(publicKeysStoreFile.getPath()); // // LicenseVerify licenseVerify = new LicenseVerify(); // //安装证书 // LicenseContent install = licenseVerify.install(param); // // logger.info("++++++++ 许可证加载结束 ++++++++"); // //// return install != null; // return true; // } catch (Exception e) { // return false; // } // } // // return false; // } //}