13693261870
2024-12-30 edc9a6674eb9b40e33a74c5f022d279712ed3b7c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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);
        }
    }
}