From 39ffdf5754b4ebca682bd3c925f7a500e8a1bbda Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Thu, 08 Aug 2024 16:56:36 +0800
Subject: [PATCH] 国土调查云身份凭证token
---
src/main/java/com/dji/sample/droneairport/utils/AuthUtil.java | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/dji/sample/droneairport/utils/AuthUtil.java b/src/main/java/com/dji/sample/droneairport/utils/AuthUtil.java
index 310ca72..eaa1306 100644
--- a/src/main/java/com/dji/sample/droneairport/utils/AuthUtil.java
+++ b/src/main/java/com/dji/sample/droneairport/utils/AuthUtil.java
@@ -1,5 +1,8 @@
package com.dji.sample.droneairport.utils;
+import com.dji.sample.droneairport.utils.SM2.ModeTypeEnum;
+import com.dji.sample.droneairport.utils.SM2.Utils;
+import com.dji.sample.territory.utils.SM2SignUtil;
import com.dji.sample.territory.utils.jym.SM2SignVO;
import com.dji.sample.territory.utils.jym.SM2SignVerUtils;
import com.dji.sample.territory.utils.jym.Util;
@@ -10,14 +13,24 @@
public class AuthUtil {
+ /**
+ * 国土调查云获取token
+ * 1、获取当前时间的时间的毫秒时间戳A
+ * 2、用调用方的数字证书B和A进行字符串顺序拼接得到字符串C
+ * 3、获取字符串C的UTF-8字节数组D
+ * 4、采用调用方的私钥,使用SM2签名算法对字节数组D进行签名得到字节数组E
+ * 5、对字节数组E进行base64编码得到字符串F
+ * 6、组装得到token:{B}.{A}.{F}
+ * @return
+ */
@SneakyThrows
public static String getToken() {
long timestamp = System.currentTimeMillis();
- String certificateB = "044D6061FC08A19D3F32CEAA8CF6679B40500008FD741FC26DE7E50AEBF3A9115D47274437730EADEDAEF0CCC4853C5F0B35B30C6AEA83A5F6FBCA4ABEAC9E3B98"; // 示例证书信息
+ String certificateB = "5DED9AC421AC4FD8B03C5E7236A9A201"; // 示例证书信息
String C = certificateB + timestamp;
byte[] D = C.getBytes(StandardCharsets.UTF_8);
SM2SignVO sm2signv0 = SM2SignVerUtils.Sign2SM2(Util.hexStringToBytes("23E57DA1E4AB865CCBC325B668762207DEF74345B782237808AE0BABDF26734D"), D);
- byte[] E = sm2signv0.getSm2_signForHard().getBytes(StandardCharsets.UTF_8);
+ byte[] E = sm2signv0.getSm2_signForHard().getBytes();
String F = Base64.getEncoder().encodeToString(E);
return certificateB + "." + timestamp + "." + F;
}
--
Gitblit v1.9.3