diff --git a/openapi-sdk/pom.xml b/openapi-sdk/pom.xml
index 5e6e268..e3d01c0 100644
--- a/openapi-sdk/pom.xml
+++ b/openapi-sdk/pom.xml
@@ -3,8 +3,8 @@
4.0.0
com.cisd
- openapi-sdk
- 1.0-SNAPSHOT
+ netsignapi
+ 1.0.0
1.8
diff --git a/openapi-sdk/src/main/java/cn/com/infosec/netsign/agent/PBCAgent2G.java b/openapi-sdk/src/main/java/cn/com/infosec/netsign/agent/PBCAgent2G.java
index f1acfbd..56e62e2 100644
--- a/openapi-sdk/src/main/java/cn/com/infosec/netsign/agent/PBCAgent2G.java
+++ b/openapi-sdk/src/main/java/cn/com/infosec/netsign/agent/PBCAgent2G.java
@@ -37,6 +37,7 @@ public class PBCAgent2G{
public String rawSign(byte[] origBytes, String dn) {
+ System.out.println("调用rawSign, dn:" + dn);
String sessionId = UUID.randomUUID().toString().replace("-", "");
if (origBytes == null) {
@@ -112,7 +113,7 @@ public class PBCAgent2G{
public boolean rawVerify(byte[] origBytes, String certStr, String dn) {
-
+ System.out.println("调用rawVerify, dn:" + dn);
String sessionId = UUID.randomUUID().toString().replace("-", "");
if (origBytes == null) {
@@ -192,7 +193,7 @@ public class PBCAgent2G{
public String dettachedSign(byte[] origBytes, String dn) {
-
+ System.out.println("调用dettachedSign, dn:" + dn);
String sessionId = UUID.randomUUID().toString().replace("-", "");
if (origBytes == null) {
diff --git a/openapi-sdk/src/main/resources/sign-server.properties b/openapi-sdk/src/main/resources/sign-server.properties
index 947f8fb..60c10bb 100644
--- a/openapi-sdk/src/main/resources/sign-server.properties
+++ b/openapi-sdk/src/main/resources/sign-server.properties
@@ -1,4 +1,4 @@
-sign-server.baseUrl=http://127.0.0.1:8080
+sign-server.baseUrl=http://127.0.0.1:8080/api/v1/openapi
sign-server.apiKey=key
sign-server.rawSignPath=/rawSign
diff --git a/src/main/java/com/cisd/tms/modules/mk/config/MasterKeyActivateProperties.java b/src/main/java/com/cisd/tms/modules/mk/config/MasterKeyActivateProperties.java
deleted file mode 100644
index 60a7e89..0000000
--- a/src/main/java/com/cisd/tms/modules/mk/config/MasterKeyActivateProperties.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.cisd.tms.modules.mk.config;
-
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@ConfigurationProperties(prefix = "tms.mk.activate")
-public class MasterKeyActivateProperties {
-
- //todo 后续添加到配置文件
- private String platformUrl = "http://127.0.0.1:8080/device/active";
-
- public String getPlatformUrl() { return platformUrl; }
-
- public void setPlatformUrl(String platformUrl) { this.platformUrl = platformUrl; }
-}
diff --git a/src/main/java/com/cisd/tms/modules/mk/dto/MasterKeyActivateRequest.java b/src/main/java/com/cisd/tms/modules/mk/dto/MasterKeyActivateRequest.java
index 0047f01..812934d 100644
--- a/src/main/java/com/cisd/tms/modules/mk/dto/MasterKeyActivateRequest.java
+++ b/src/main/java/com/cisd/tms/modules/mk/dto/MasterKeyActivateRequest.java
@@ -13,4 +13,10 @@ public class MasterKeyActivateRequest {
private String credential;
@Schema(description = "设备激活码", example = "1234567")
private String activationCode;
+
+ @Schema(description = "网络地址", example = "192.168.10.100")
+ private String ipAddress;
+
+ @Schema(description = "端口号", example = "80")
+ private Integer port;
}
diff --git a/src/main/java/com/cisd/tms/modules/mk/service/impl/MasterKeyActivateServiceImpl.java b/src/main/java/com/cisd/tms/modules/mk/service/impl/MasterKeyActivateServiceImpl.java
index 16925d2..8be0d6f 100644
--- a/src/main/java/com/cisd/tms/modules/mk/service/impl/MasterKeyActivateServiceImpl.java
+++ b/src/main/java/com/cisd/tms/modules/mk/service/impl/MasterKeyActivateServiceImpl.java
@@ -9,7 +9,6 @@ import com.cisd.tms.modules.device.dto.DeviceInfoResponse;
import com.cisd.tms.modules.device.entity.DeviceSoftwareVersionEntity;
import com.cisd.tms.modules.device.repository.DeviceSoftwareVersionRepository;
import com.cisd.tms.modules.device.service.DeviceService;
-import com.cisd.tms.modules.mk.config.MasterKeyActivateProperties;
import com.cisd.tms.modules.mk.dto.MasterKeyActivateInfoResponse;
import com.cisd.tms.modules.mk.dto.MasterKeyActivateRequest;
import com.cisd.tms.modules.mk.entity.MasterKeyActivateEntity;
@@ -29,10 +28,12 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
+import java.net.ConnectException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
+import java.net.http.HttpTimeoutException;
import java.nio.charset.StandardCharsets;
import java.security.PublicKey;
import java.security.SecureRandom;
@@ -47,15 +48,15 @@ import java.util.Optional;
public class MasterKeyActivateServiceImpl implements MasterKeyActivateService {
private static final String DEVICE_DIR = "/home/tms/device";
- public static final String SIGN_FILE = DEVICE_DIR + "/dev.sign";
+ private static final String SIGN_FILE = DEVICE_DIR + "/dev.sign";
private static final String ACTIVATION_PUBLIC_KEY_FILE = DEVICE_DIR + "/dev.active.pub";
+ private static final String ACTIVATION_PLATFORM_URL = "/device/active";
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
private static final SecureRandom SECURE_RANDOM = new SecureRandom();
private final PcieCryptoService pcieCryptoService;
- private final MasterKeyActivateProperties masterKeyActivateProperties;
private final DeviceSoftwareVersionRepository deviceSoftwareVersionRepository;
private final DeviceProfileProperties deviceProfileProperties;
private final DeviceService deviceService;
@@ -139,6 +140,23 @@ public class MasterKeyActivateServiceImpl implements MasterKeyActivateService {
throw new IllegalArgumentException("设备激活码不能为空");
}
+ if (masterKeyActivateRequest.getIpAddress() == null){
+ throw new IllegalArgumentException("IP地址不能为空");
+ }
+
+
+ String ipAddress = masterKeyActivateRequest.getIpAddress().trim();
+
+
+ Integer portValue = masterKeyActivateRequest.getPort();
+
+ if (portValue == null || portValue < 1 || portValue > 65535) {
+ throw new IllegalArgumentException("非法端口: " + portValue);
+ }
+
+ String port = String.valueOf(portValue);
+ String url = "http://" + ipAddress + ":" + port + ACTIVATION_PLATFORM_URL;
+
try {
DeviceFingerprintService deviceFingerprintService = new DeviceFingerprintService();
DeviceFingerprint deviceFingerprint = deviceFingerprintService.getDeviceFingerprint();
@@ -175,10 +193,9 @@ public class MasterKeyActivateServiceImpl implements MasterKeyActivateService {
request.setHash(hash);
String json = OBJECT_MAPPER.writeValueAsString(request);
- //todo 抛异常
// System.out.print(json);
HttpRequest httpRequest = HttpRequest.newBuilder()
- .uri(URI.create(masterKeyActivateProperties.getPlatformUrl()))
+ .uri(URI.create(url))
.header("Content-Type", "application/json;charset=UTF-8")
.header("Accept", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json, StandardCharsets.UTF_8))
@@ -204,9 +221,15 @@ public class MasterKeyActivateServiceImpl implements MasterKeyActivateService {
masterKeyActivateRepository.update(masterKeyActivateEntity);
writeFile(ACTIVATION_PUBLIC_KEY_FILE, deviceActivationPublicKey.getBytes(StandardCharsets.UTF_8));
} else {
- throw new Exception(result.getMsg());
+ throw new RuntimeException(result.getMsg());
}
+ } catch (ConnectException | HttpTimeoutException e) {
+
+ masterKeyActivateEntity.setActivationStatus(false);
+ masterKeyActivateRepository.update(masterKeyActivateEntity);
+ throw new BizException(ErrorCode.BIZ_ERROR.getCode(), "连接激活平台失败");
+
} catch (Exception e) {
masterKeyActivateEntity.setActivationStatus(false);
masterKeyActivateRepository.update(masterKeyActivateEntity);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1934519..02f09d3 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -334,9 +334,6 @@ tms:
old-pin-base64: ${TMS_MK_INIT_IDENTIFY_OLD_PIN_BASE64:NjY2NjY2}
# SDFE_InitIdentify 新 PIN(Base64 编码);主密钥初始化接口会读取该值。
new-pin-base64: ${TMS_MK_INIT_IDENTIFY_NEW_PIN_BASE64:NjY2NjY2}
- activate:
- # 激活服务平台路径
- platform-url: ${TMS_MK_ACTIVATE_PLATFORM_URL:http://172.16.18.195:8170/device/active}
security:
# 内部接口鉴权 token(前后端内部调用需一致)。
internal-token: ${TMS_INTERNAL_TOKEN:change-me-internal-token}