From 969ebec653514924925957330c797a5d4d949d60 Mon Sep 17 00:00:00 2001 From: zhangqinbin <181961702@qq.com> Date: Thu, 8 Apr 2021 15:35:45 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=88=B3=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ebtp/extend/timeService/tsa/TtsAgent.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java index 62e02b5..90e0de4 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java @@ -1,5 +1,11 @@ package com.chinaunicom.mall.ebtp.extend.timeService.tsa; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; + /** * CA 时间戳服务接口 * @@ -60,6 +66,10 @@ public interface TtsAgent { public class TtsParseResult { // 时间 private String timestamp; + // 时间 + private Date datestamp; + // 时间 + private LocalDateTime localDateTimestamp; // hash 值 private String hash; @@ -67,11 +77,19 @@ public interface TtsAgent { // 签名证书 private String cert; - public TtsParseResult(String timestamp, String hash, String cert) { + public TtsParseResult(String timestamp, String hash, String cert){ super(); this.timestamp = timestamp; this.hash = hash; this.cert = cert; + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + this.localDateTimestamp =LocalDateTime.parse(timestamp,dtf); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + this.datestamp = sdf.parse(timestamp); + } catch (ParseException e) { + e.printStackTrace(); + } } public String getTimestamp() { From 068628c2145757138103b508577ef8a99ba90262 Mon Sep 17 00:00:00 2001 From: zhangqinbin <181961702@qq.com> Date: Thu, 8 Apr 2021 15:45:48 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=88=B3=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../timeService/TimeServiceConstant.java | 21 ++++++++++++++----- .../controller/TimeServiceController.java | 4 ++-- .../ebtp/extend/timeService/tsa/TtsAgent.java | 18 ++++++++++++++++ 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/TimeServiceConstant.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/TimeServiceConstant.java index 3f300f2..bfd086d 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/TimeServiceConstant.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/TimeServiceConstant.java @@ -64,7 +64,21 @@ public class TimeServiceConstant { * @param timestamp 时间戳加密原文 * @return 时间戳对象 */ - public TSAVerifyResult verifyTimeStamp(String timestamp){ + public TtsAgent.TtsParseResult verifyTimeStamp2(String timestamp){ + try{ + log.info("timestamp -->"+timestamp); + TSAVerifyResult verifyResult = this.verifyTimeStamp(timestamp); + String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(verifyResult.getSignedTime()); + TtsAgent.TtsParseResult ttsParseResult = new TtsAgent.TtsParseResult(time, HelperUtil.bytesToHexString(verifyResult.getData()), + verifyResult.getSignerSubject()); + return ttsParseResult; + }catch (Exception e){ + log.error("解析时间戳", e); + } + return null; + } + + private TSAVerifyResult verifyTimeStamp(String timestamp){ try{ log.info("timestamp -->"+timestamp); TSAVerifyResult verifyResult = client.verifyTimeStamp(Base64.decodeBase64(timestamp)); @@ -83,10 +97,7 @@ public class TimeServiceConstant { public TtsAgent.TtsParseResult getServiceTimeObj(String data){ try{ String timestamp = this.signTimeStamp(data); - TSAVerifyResult verifyResult = this.verifyTimeStamp(timestamp); - String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(verifyResult.getSignedTime()); - TtsAgent.TtsParseResult ttsParseResult = new TtsAgent.TtsParseResult(time, HelperUtil.bytesToHexString(verifyResult.getData()), - verifyResult.getSignerSubject()); + TtsAgent.TtsParseResult ttsParseResult = this.verifyTimeStamp2(timestamp); return ttsParseResult; }catch (Exception e){ log.error("获取时间戳异常", e); diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/controller/TimeServiceController.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/controller/TimeServiceController.java index d2e8503..98dace0 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/controller/TimeServiceController.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/controller/TimeServiceController.java @@ -40,9 +40,9 @@ public class TimeServiceController { */ @ApiOperation("解析时间戳加密原文") @GetMapping(value = "/verifyTimeStamp") - public BaseResponse verifyTimeStamp(@ApiParam(value = "时间戳加密原文", required = true) @RequestBody String timestamp) { + public BaseResponse verifyTimeStamp(@ApiParam(value = "时间戳加密原文", required = true) @RequestBody String timestamp) { TimeServiceConstant constant = new TimeServiceConstant(); - return BaseResponse.success(constant.verifyTimeStamp(timestamp)); + return BaseResponse.success(constant.verifyTimeStamp2(timestamp)); } /** diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java index 90e0de4..a7248ff 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java @@ -115,5 +115,23 @@ public interface TtsAgent { public void setCert(String cert) { this.cert = cert; } + + public LocalDateTime getLocalDateTimestamp() { + return localDateTimestamp; + } + + public TtsParseResult setLocalDateTimestamp(LocalDateTime localDateTimestamp) { + this.localDateTimestamp = localDateTimestamp; + return this; + } + + public Date getDatestamp() { + return datestamp; + } + + public TtsParseResult setDatestamp(Date datestamp) { + this.datestamp = datestamp; + return this; + } } } \ No newline at end of file From a7f8afb2e5d3ec29bc2e4365efe037d0c0236526 Mon Sep 17 00:00:00 2001 From: zhangqinbin <181961702@qq.com> Date: Thu, 8 Apr 2021 15:50:20 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=88=B3=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ebtp/extend/timeService/tsa/TtsAgent.java | 30 ------------------- 1 file changed, 30 deletions(-) diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java index a7248ff..b4b6e1c 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/TtsAgent.java @@ -66,10 +66,6 @@ public interface TtsAgent { public class TtsParseResult { // 时间 private String timestamp; - // 时间 - private Date datestamp; - // 时间 - private LocalDateTime localDateTimestamp; // hash 值 private String hash; @@ -82,14 +78,6 @@ public interface TtsAgent { this.timestamp = timestamp; this.hash = hash; this.cert = cert; - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - this.localDateTimestamp =LocalDateTime.parse(timestamp,dtf); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - try { - this.datestamp = sdf.parse(timestamp); - } catch (ParseException e) { - e.printStackTrace(); - } } public String getTimestamp() { @@ -115,23 +103,5 @@ public interface TtsAgent { public void setCert(String cert) { this.cert = cert; } - - public LocalDateTime getLocalDateTimestamp() { - return localDateTimestamp; - } - - public TtsParseResult setLocalDateTimestamp(LocalDateTime localDateTimestamp) { - this.localDateTimestamp = localDateTimestamp; - return this; - } - - public Date getDatestamp() { - return datestamp; - } - - public TtsParseResult setDatestamp(Date datestamp) { - this.datestamp = datestamp; - return this; - } } } \ No newline at end of file From 2fa4497eeb7a56eb24c901603b702171d4a1c43b Mon Sep 17 00:00:00 2001 From: zhangqinbin <181961702@qq.com> Date: Fri, 9 Apr 2021 09:15:55 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=88=B3=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/ebtp/extend/timeService/TimeServiceConstant.java | 3 ++- .../mall/ebtp/extend/timeService/tsa/SystemTime.java | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/TimeServiceConstant.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/TimeServiceConstant.java index bfd086d..d88c289 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/TimeServiceConstant.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/TimeServiceConstant.java @@ -156,7 +156,8 @@ public class TimeServiceConstant { .setDate(date.getDate()) .setHour(date.getHours()) .setMinute(date.getMinutes()) - .setSecond(date.getSeconds()); + .setSecond(date.getSeconds()) + .setTimestamp(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date)); return systemTime; }catch (Exception e){ log.error("获取时间戳异常", e); diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/SystemTime.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/SystemTime.java index 8915664..1683127 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/SystemTime.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/timeService/tsa/SystemTime.java @@ -11,8 +11,10 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) public class SystemTime { - - + /** + * 时间 + */ + private String timestamp; /** * 年 */ From 7c6a759bccb662dc8b34dc3e3cbedee3c69315da Mon Sep 17 00:00:00 2001 From: ajaxfan <909938737@qq.com> Date: Fri, 9 Apr 2021 09:17:52 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AuthorizeController.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/controller/AuthorizeController.java diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/controller/AuthorizeController.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/controller/AuthorizeController.java new file mode 100644 index 0000000..eaac104 --- /dev/null +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/bizmessage/controller/AuthorizeController.java @@ -0,0 +1,36 @@ +package com.chinaunicom.mall.ebtp.extend.bizmessage.controller; + +import java.security.Principal; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService; + +@RestController +@RequestMapping("v1") +public class AuthorizeController { + + private @Autowired IBaseCacheUserService service; + + @GetMapping("user") + @ResponseStatus(code = HttpStatus.OK) + public Object user(Principal principal) { + BaseCacheUser cacheUser = service.getCacheUser(); + Authentication auth = SecurityContextHolder.getContext().getAuthentication(); + + System.out.println(auth.getName()); + System.out.println(auth.getAuthorities()); + System.out.println(principal); + + return cacheUser; + } + +}