package com.dragoninfo.dcuc.duceap.facade; import com.dragonsoft.duceap.base.entity.http.ResponseDTO; import com.dragonsoft.duceap.base.entity.http.ResponseStatus; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; /** * 表码数据使用国密算法加密 * * @author mazq * @date 2021/5/11 */ @FeignClient(name = "${duceap.service.name:dcuc-duceap}", path = "/duceapsvr/v2/gmSignFacade") public interface IGmSignFacade { /** * 根据codeId校验数据是否符合国密要求 * * @param codeId * @return */ @GetMapping(value = "codeGmCheck") ResponseStatus codeGmCheck(@RequestParam("codeId") String codeId); /** * 根据codeIds校验数据是否符合国密要求 * * @param codeIds 多个codeId ‘,’隔开 * @return */ @GetMapping(value = "codeGmCheckCodes") ResponseStatus codeGmCheckCodes(@RequestParam("codeIds") String codeIds); /** * 对codeId的表码数据进行摘要和加密 * * @param codeId * @return */ @GetMapping(value = "codeGmSign") ResponseStatus codeGmSign(@RequestParam("codeId") String codeId); /** * 国密不可否认性校验 * * @param origin 原文 * @param sign 签名数据 * @return */ @GetMapping(value = "sm2Verify") ResponseStatus gmSm2Verify(@RequestParam("origin") String origin, @RequestParam("sign") String sign); /** * 国密完整性校验 * * @param origin 原文 * @param digest 摘要数据 * @return */ @GetMapping(value = "gmSm3Verify") ResponseStatus gmSm3Verify(@RequestParam("origin") String origin, @RequestParam("digest") String digest); /** * 国密机密性接口解密 * * @param encode 加密数据 * @return */ @GetMapping(value = "gmSm4Decode") ResponseDTO gmSm4Decode(@RequestParam("encode") String encode); /** * 国密机密性接口解密 * * @param origin 原文数据 * @return */ @GetMapping(value = "gmSm4Encode") ResponseDTO gmSm4Encode(@RequestParam("origin") String origin); /** * 生成SM2签名 * * @param origin 原文 * @return 签名 */ @GetMapping(value = "gmSm2Sign") ResponseDTO gmSm2Sign(@RequestParam("origin") String origin); /** * 生成SM3摘要 * * @param origin 原文 * @return 摘要 */ @GetMapping(value = "gmSm3Digest") ResponseDTO gmSm3Digest(@RequestParam("origin") String origin); }