summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfengjunfeng <[email protected]>2022-01-10 16:16:10 +0800
committerfengjunfeng <[email protected]>2022-01-10 16:16:10 +0800
commit0552e11b68694e953158f07f551a0448644c945d (patch)
tree2171e9de74258ae6164e92c4c921e6ff52b00409
parent7106c3328da9ed9d83d4697b1e3b4e7a22204d30 (diff)
调整生成c2v方式getInfo
-rw-r--r--src/main/java/com/sentinel/license/utils/HaspUtil.java24
1 files changed, 21 insertions, 3 deletions
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 = "<haspformat format=\"updateinfo\"/>";
+ protected final static String KEY_ID_FORMAT = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
+ "<haspformat root=\"haspscope\">\n" +
+ " <hasp>\n" +
+ " <attribute name=\"id\" />\n" +
+ " </hasp>\n" +
+ "</haspformat>";
+
public final static String ALL_FORMAT = "<haspformat>\n" +
" <hasp>\n" +
" <element name=\"id\"/>\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("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
+ "<haspscope>\n" +
+ " <hasp " +
+ "id= \"" + id +"\""+
+ "/>\n" +
+ "</haspscope>",KEY_C2V_FORMAT,vendorCode);
status = hasp.getLastError();
log.info("getLicense c2v license status: {}", status);
if (status != HaspStatus.HASP_STATUS_OK) {