|  |  | 
 |  |  |     /** | 
 |  |  |      * 安装License证书 | 
 |  |  |      */ | 
 |  |  |     public synchronized LicenseContent install(LicenseVerifyParam param){ | 
 |  |  |     public synchronized LicenseContent install(LicenseVerifyParam param) { | 
 |  |  |         LicenseContent result = null; | 
 |  |  |         DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | 
 |  |  |  | 
 |  |  |         //1. 安装证书 | 
 |  |  |         try{ | 
 |  |  |         try { | 
 |  |  |             LicenseManager licenseManager = LicenseManagerHolder.getInstance(initLicenseParam(param)); | 
 |  |  |             licenseManager.uninstall(); | 
 |  |  |  | 
 |  |  |             result = licenseManager.install(new File(param.getLicensePath())); | 
 |  |  |             logger.info(MessageFormat.format("许可证加载成功,许可证有效期:{0} - {1}",format.format(result.getNotBefore()),format.format(result.getNotAfter()))); | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             logger.error("许可证加载失败!",e); | 
 |  |  |             logger.info(MessageFormat.format("许可证加载成功,许可证有效期:{0} - {1}", format.format(result.getNotBefore()), format.format(result.getNotAfter()))); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             logger.error("许可证加载失败!", e); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return result; | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 校验License证书 | 
 |  |  |      */ | 
 |  |  |     public boolean verify(){ | 
 |  |  |     public boolean verify() { | 
 |  |  |         try { | 
 |  |  |             LicenseManager licenseManager = LicenseManagerHolder.getInstance(null); | 
 |  |  |             DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | 
 |  |  | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             LicenseContent licenseContent = licenseManager.verify(); | 
 |  |  |             logger.info(MessageFormat.format("许可证校验通过,许可证有效期:{0} - {1}",format.format(licenseContent.getNotBefore()),format.format(licenseContent.getNotAfter()))); | 
 |  |  |             logger.info(MessageFormat.format("许可证校验通过,许可证有效期:{0} - {1}", format.format(licenseContent.getNotBefore()), format.format(licenseContent.getNotAfter()))); | 
 |  |  |             return true; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             logger.error("许可证校验失败!",e); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             logger.error("许可证校验失败!", e); | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 校验License证书并获取证书信息 | 
 |  |  |      */ | 
 |  |  |     public LicenseContent getVerifyInfo(){ | 
 |  |  |     public LicenseContent getVerifyInfo() { | 
 |  |  |         LicenseManager licenseManager = LicenseManagerHolder.getInstance(null); | 
 |  |  |  | 
 |  |  |         if (!updateSystemTime()) { | 
 |  |  | 
 |  |  |         try { | 
 |  |  |             LicenseContent licenseContent = licenseManager.verify(); | 
 |  |  |             return licenseContent; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             logger.error("许可证校验失败!",e); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             logger.error("许可证校验失败!", e); | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | 
 |  |  |      * @param param License校验类需要的参数 | 
 |  |  |      * @return de.schlichtherle.license.LicenseParam | 
 |  |  |      */ | 
 |  |  |     private LicenseParam initLicenseParam(LicenseVerifyParam param){ | 
 |  |  |     private LicenseParam initLicenseParam(LicenseVerifyParam param) { | 
 |  |  |         Preferences preferences = Preferences.userNodeForPackage(LicenseVerify.class); | 
 |  |  |  | 
 |  |  |         CipherParam cipherParam = new DefaultCipherParam(param.getStorePass()); | 
 |  |  |  | 
 |  |  |         KeyStoreParam publicStoreParam = new CustomKeyStoreParam(LicenseVerify.class | 
 |  |  |                 ,param.getPublicKeysStorePath() | 
 |  |  |                 ,param.getPublicAlias() | 
 |  |  |                 ,param.getStorePass() | 
 |  |  |                 ,null); | 
 |  |  |                 , param.getPublicKeysStorePath() | 
 |  |  |                 , param.getPublicAlias() | 
 |  |  |                 , param.getStorePass() | 
 |  |  |                 , null); | 
 |  |  |  | 
 |  |  |         return new DefaultLicenseParam(param.getSubject() | 
 |  |  |                 ,preferences | 
 |  |  |                 ,publicStoreParam | 
 |  |  |                 ,cipherParam); | 
 |  |  |                 , preferences | 
 |  |  |                 , publicStoreParam | 
 |  |  |                 , cipherParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |                 node.put(key, String.valueOf(System.currentTimeMillis())); | 
 |  |  |                 return true; | 
 |  |  |             } | 
 |  |  |         }else { | 
 |  |  |         } else { | 
 |  |  |             // 写入注册表 | 
 |  |  |             node.put(key, String.valueOf(System.currentTimeMillis())); | 
 |  |  |             return true; |