package com.se.system.utils; import com.se.system.domain.vo.*; import de.schlichtherle.license.*; import javax.security.auth.x500.X500Principal; import java.util.prefs.Preferences; @SuppressWarnings("ALL") public class ParamInitUtils { public ParamInitUtils() { } /** * 证书的发行者和主体字段信息 */ private final static X500Principal DEFAULT_HOLDER_AND_ISSUER = new X500Principal("CN=a, OU=a, O=a, L=a, ST=a, C=a"); /** *
初始化证书生成参数
* * @param param GxLicenseCreatorParam 生成证书参数 * @return LicenseParam 证书参数 */ public static LicenseParam initLicenseParam(LicenseCreatorParamVo param) { Preferences preferences = Preferences.userNodeForPackage(LicenseCreator.class); /** 设置对证书内容加密的秘钥 */ CipherParam cipherParam = new DefaultCipherParam(param.getStorePass()); KeyStoreParam privateStoreParam = new DefaultKeyStoreParam(LicenseCreator.class , param.getPrivateKeysStorePath() , param.getPrivateAlias() , param.getStorePass() , param.getKeyPass()); return new DefaultLicenseParam(param.getSubject(), preferences, privateStoreParam, cipherParam); } /** *初始化证书内容信息对象
* * @param param GxLicenseCreatorParam 生成证书参数 * @return LicenseContent 证书内容 */ public static LicenseContent initLicenseContent(LicenseCreatorParamVo param) { LicenseContent licenseContent = new LicenseContent(); licenseContent.setHolder(DEFAULT_HOLDER_AND_ISSUER); licenseContent.setIssuer(DEFAULT_HOLDER_AND_ISSUER); /** 设置证书名称 */ licenseContent.setSubject(param.getSubject()); /** 设置证书有效期 */ licenseContent.setIssued(param.getIssuedTime()); /** 设置证书生效日期 */ licenseContent.setNotBefore(param.getIssuedTime()); /** 设置证书失效日期 */ licenseContent.setNotAfter(param.getExpiryTime()); /** 设置证书用户类型 */ licenseContent.setConsumerType(param.getConsumerType()); /** 设置证书用户数量 */ licenseContent.setConsumerAmount(param.getConsumerAmount()); /** 设置证书描述信息 */ licenseContent.setInfo(param.getDescription()); /** 设置证书扩展信息(对象 -- 额外的ip、mac、cpu等信息) */ licenseContent.setExtra(param.getLicenseCheck()); return licenseContent; } /** *初始化证书生成参数
* * @param param License校验类需要的参数 */ public static LicenseParam initLicenseParam(LicenseVerifyParamVo param) { Preferences preferences = Preferences.userNodeForPackage(LicenseVerifyMg.class); CipherParam cipherParam = new DefaultCipherParam(param.getStorePass()); KeyStoreParam publicStoreParam = new DefaultKeyStoreParam(LicenseVerifyMg.class /** 公钥库存储路径 */ , param.getPublicKeysStorePath() /** 公匙别名 */ , param.getPublicAlias() /** 公钥库访问密码 */ , param.getStorePass() , null); return new DefaultLicenseParam(param.getSubject(), preferences, publicStoreParam, cipherParam); } }