package com.se.system.domain.vo;
|
|
import com.se.system.utils.ParamInitUtils;
|
import de.schlichtherle.license.LicenseContent;
|
import de.schlichtherle.license.LicenseManager;
|
import de.schlichtherle.license.LicenseParam;
|
|
import java.io.File;
|
import java.text.MessageFormat;
|
|
@SuppressWarnings("ALL")
|
public class LicenseCreatorMg {
|
public LicenseCreatorMg() {
|
}
|
|
private LicenseCreatorParamVo param;
|
|
public LicenseCreatorMg(LicenseCreatorParamVo param) {
|
this.param = param;
|
}
|
|
/**
|
* <p>生成License证书</p>
|
*
|
* @return GxLicenseResult 证书生成结果
|
*/
|
public LicenseResultVo generateLicense() {
|
try {
|
// 1、根据外部传入的创建Lic的参数信息初始化lic参数(秘钥部分)
|
LicenseParam licenseParam = ParamInitUtils.initLicenseParam(param);
|
// 2、根据外部传入的创建Lic的属性信息初始化lic内容(除了truelicense自带的还包括自己定义的)
|
LicenseContent licenseContent = ParamInitUtils.initLicenseContent(param);
|
// 3、构建Lic管理器
|
LicenseManager licenseManager = new LicenseCustomMg(licenseParam);
|
// 4、根据param传入的lic生成的路径创建空文件
|
File licenseFile = new File(this.param.getLicensePath());
|
// 5、通过Lic管理器,将内容写入Lic文件中
|
licenseManager.store(licenseContent, licenseFile);
|
return new LicenseResultVo("证书生成成功!", licenseContent);
|
} catch (Exception e) {
|
System.out.println(e.getMessage());
|
String message = MessageFormat.format("证书生成失败!:{0}", param);
|
System.out.println("message = " + message);
|
e.printStackTrace();
|
return new LicenseResultVo(String.format("证书文件生成失败!原因:%s", e.getMessage()), e);
|
}
|
}
|
}
|