类 LsHandler

java.lang.Object
com.sie.mbm.mom.framework.license.server.LsHandler

public class LsHandler extends Object
证书处理者 主要负责两个功能: 1. 获取机器唯一ID; 2. 校验试用证书和正式证书是否有效
  • 字段详细资料

    • context

      private final org.springframework.context.ApplicationContext context
    • properties

      private final LsProperties properties
    • licenseExpiredMs

      private static Long licenseExpiredMs
    • oneMonthMs

      private static Long oneMonthMs
    • LICENSE_CREATEDTIME_FORMAT

      private static String LICENSE_CREATEDTIME_FORMAT
    • ESN_ID_TYPE

      private static List<String> ESN_ID_TYPE
    • SIGNER

      private static String SIGNER
    • OBJECT_MAPPER

      private static final com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER
  • 构造器详细资料

    • LsHandler

      public LsHandler()
  • 方法详细资料

    • loadLicense

      public LsDTO loadLicense()
      根据服务器的配置信息, 加载证书配置
      返回:
      证书内容数据结构
    • getHostMachineUniqueId

      public String getHostMachineUniqueId()
      获取宿主机的唯一标识
      返回:
      宿主机的唯一标识
    • getMidWithCommand

      private ShellCmdResponseDTO getMidWithCommand()
      获取CPUID, DISKID, MAC命令结果组合, 再计算MD5签名, 形成MID机器码
      返回:
      MID
    • getOnTrialLicense

      @Nullable public LsCheckDTO getOnTrialLicense()
      检测是否在试用证书的有效期内
      返回:
      LsCheckDTO 试用证书的检测结果
    • checkLicense

      public LsCheckDTO checkLicense(LsDTO licenseDTO, String machineUniqueId, String appName)
      检测正式证书是否有效, 是否在的有效期内
      参数:
      licenseDTO - 证书结构
      machineUniqueId - 宿主机唯一标识
      appName - 微服务名称
      返回:
      LsCheckDTO 正式证书的检测结果
    • genLicenseSign

      private String genLicenseSign(LsDTO licenseDTO)
      计算证书的签名
      参数:
      licenseDTO - 证书结构
      返回:
      证书数字签名
    • licenseErr

      private LsCheckDTO licenseErr(LsErrorEnum licenseErrorEnum, Date validDay)
      证书校验枚举转为LsCheckDTO数据结构
      参数:
      licenseErrorEnum - 证书校验枚举
      返回:
      LsCheckDTO数据结构
    • isDebug

      private boolean isDebug()
      是否为调试模式
      返回:
      是否为调试模式
    • obj2maps

      private Map<String,String> obj2maps(Object o)
      对象转map
      参数:
      o - 目标对象
      返回:
      map
    • doInvokeSignWithClass

      private String doInvokeSignWithClass(Map<String,String> params, String debug)
      使用动态加载字节码的方式计算证书的签名
      参数:
      params - 证书结构
      debug - 是否调试模式 1: 调试 0:不调试
      返回:
      证书数字签名