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; + } + +} 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..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 @@ -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); @@ -145,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/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/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; /** * 年 */ 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..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 @@ -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 时间戳服务接口 * @@ -67,7 +73,7 @@ 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;