diff --git a/src/main/java/com/sentinel/license/utils/HaspUtil.java b/src/main/java/com/sentinel/license/utils/HaspUtil.java index a9589ff..f48c788 100644 --- a/src/main/java/com/sentinel/license/utils/HaspUtil.java +++ b/src/main/java/com/sentinel/license/utils/HaspUtil.java @@ -1,8 +1,10 @@ package com.sentinel.license.utils; import Aladdin.Hasp; import Aladdin.HaspStatus; +import cn.hutool.core.util.XmlUtil; import cn.hutool.log.Log; - +import org.w3c.dom.Document; +import org.w3c.dom.Element; public class HaspUtil { @@ -31,6 +33,13 @@ public class HaspUtil { protected final static String KEY_C2V_FORMAT = ""; + protected final static String KEY_ID_FORMAT = "\n" + + "\n" + + " \n" + + " \n" + + " \n" + + ""; + public final static String ALL_FORMAT = "\n" + " \n" + " \n" + @@ -154,8 +163,17 @@ public class HaspUtil { // log.info("license status: {}", status); if(status == HaspStatus.HASP_STATUS_OK) { //如果已经安装过license ,读取指纹和 hasp id -// String licenseInfo = hasp.getSessionInfo(KEY_C2V_FORMAT); - String licenseInfo = hasp.getInfo(KEY_SCOPE,KEY_C2V_FORMAT,vendorCode); + String info = hasp.getSessionInfo(KEY_ID_FORMAT); + Document document = XmlUtil.parseXml(info); + Element rootEle = document.getDocumentElement(); + Element haspElement=XmlUtil.getElement(rootEle,"hasp"); + String id = haspElement.getAttribute("id"); + String licenseInfo = hasp.getInfo("\n" + + "\n" + + " \n" + + "",KEY_C2V_FORMAT,vendorCode); status = hasp.getLastError(); log.info("getLicense c2v license status: {}", status); if (status != HaspStatus.HASP_STATUS_OK) {