From 65c690de484cd15c287f8ef084365ca32f4ee15b Mon Sep 17 00:00:00 2001 From: liulu Date: Wed, 6 Nov 2024 15:24:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=86=E9=92=A5=E7=AE=A1=E7=90=86=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/sunyard/chsm/enums/KeyAlg.java | 7 ++++--- .../com/sunyard/chsm/mapper/SpKeyRecordMapper.java | 11 +++++++++++ .../java/com/sunyard/chsm/model/entity/KeyRecord.java | 1 + .../sunyard/chsm/service/impl/KeyInfoServiceImpl.java | 1 + 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/chsm-common/src/main/java/com/sunyard/chsm/enums/KeyAlg.java b/chsm-common/src/main/java/com/sunyard/chsm/enums/KeyAlg.java index 9b30645..a07d56b 100644 --- a/chsm-common/src/main/java/com/sunyard/chsm/enums/KeyAlg.java +++ b/chsm-common/src/main/java/com/sunyard/chsm/enums/KeyAlg.java @@ -14,9 +14,10 @@ import java.util.Objects; @AllArgsConstructor public enum KeyAlg { - SM1(KeyCategory.SYM_KEY, "SM1", "国密SM1"), - SM4(KeyCategory.SYM_KEY, "SM4", "国密SM4"), - SM2(KeyCategory.ASYM_KEY, "SM2", "国密SM2"), + SM1(KeyCategory.SYM_KEY, "SM1", "SM1"), + SM4(KeyCategory.SYM_KEY, "SM4", "SM4"), + SM2(KeyCategory.ASYM_KEY, "SM2", "SM2"), + RSA(KeyCategory.ASYM_KEY, "RSA", "RSA"), ; private final KeyCategory category; private final String code; diff --git a/chsm-common/src/main/java/com/sunyard/chsm/mapper/SpKeyRecordMapper.java b/chsm-common/src/main/java/com/sunyard/chsm/mapper/SpKeyRecordMapper.java index a7c9582..335669e 100644 --- a/chsm-common/src/main/java/com/sunyard/chsm/mapper/SpKeyRecordMapper.java +++ b/chsm-common/src/main/java/com/sunyard/chsm/mapper/SpKeyRecordMapper.java @@ -24,5 +24,16 @@ public interface SpKeyRecordMapper extends BaseMapper { ); } + default KeyRecord selectByPubKey(String pubKey) { + if (pubKey == null || pubKey.length() != 128) { + return null; + } + return selectOne( + new LambdaQueryWrapper() + .eq(KeyRecord::getPubIdx, pubKey.substring(0, 8)) + .lt(KeyRecord::getPubKey, pubKey) + ); + } + } diff --git a/chsm-common/src/main/java/com/sunyard/chsm/model/entity/KeyRecord.java b/chsm-common/src/main/java/com/sunyard/chsm/model/entity/KeyRecord.java index c3ff082..2769711 100644 --- a/chsm-common/src/main/java/com/sunyard/chsm/model/entity/KeyRecord.java +++ b/chsm-common/src/main/java/com/sunyard/chsm/model/entity/KeyRecord.java @@ -18,6 +18,7 @@ public class KeyRecord { private String keyIndex; private String keyData; + private String pubIdx; private String pubKey; private String checkAlg; private String checkValue; diff --git a/chsm-web-manage/src/main/java/com/sunyard/chsm/service/impl/KeyInfoServiceImpl.java b/chsm-web-manage/src/main/java/com/sunyard/chsm/service/impl/KeyInfoServiceImpl.java index 1ad88d9..d021963 100644 --- a/chsm-web-manage/src/main/java/com/sunyard/chsm/service/impl/KeyInfoServiceImpl.java +++ b/chsm-web-manage/src/main/java/com/sunyard/chsm/service/impl/KeyInfoServiceImpl.java @@ -292,6 +292,7 @@ public class KeyInfoServiceImpl implements KeyInfoService { byte[] pubKeyBytes = eccKey.getPubKey().getPubKeyBytes(); record.setPubKey(Hex.toHexString(pubKeyBytes)); + record.setPubIdx(record.getPubKey().substring(0, 8)); } return record; }