区块链调试
This commit is contained in:
@ -10,6 +10,7 @@ import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
|
||||
import com.chinaunicom.mall.ebtp.common.constant.CommonConstants;
|
||||
import com.chinaunicom.mall.ebtp.common.crypto.service.CrypServiceImpl;
|
||||
import com.chinaunicom.mall.ebtp.common.crypto.tenderfee.test;
|
||||
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
|
||||
import com.chinaunicom.mall.ebtp.common.uniBss.constant.UniBssConstant;
|
||||
import com.chinaunicom.mall.ebtp.common.uniBss.entity.*;
|
||||
@ -23,9 +24,11 @@ import com.chinaunicom.mall.ebtp.extend.crypconfigure.entity.CrypConfigure;
|
||||
import com.chinaunicom.mall.ebtp.extend.crypconfigure.service.ICrypConfigureService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URL;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
@ -45,6 +48,12 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
||||
private @Autowired
|
||||
IBaseCacheUserService service;
|
||||
|
||||
// 私钥文件路径 - 加密
|
||||
private static String PEM_PATH = "admin_certPrivateNew.pem";
|
||||
|
||||
// 证书文件路径 - 解密
|
||||
private static String CRT_PATH = "adminNew.crt";
|
||||
|
||||
@Value("${mconfig.bss.app-id}")
|
||||
private String app_id;
|
||||
@Value("${mconfig.bss.app-secret}")
|
||||
@ -131,19 +140,9 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
||||
* @return
|
||||
*/
|
||||
private String getSignValue(Object object){
|
||||
//查询
|
||||
LambdaQueryWrapper<CrypConfigure> query = Wrappers.lambdaQuery();
|
||||
query.eq(CrypConfigure::getState,"1")
|
||||
.eq(CrypConfigure::getDeleteFlag, CommonConstants.STATUS_NORMAL)
|
||||
.eq(CrypConfigure::getType,"1")
|
||||
.eq(CrypConfigure::getCCode,"pem_key");
|
||||
|
||||
List<CrypConfigure> list = this.list(query);
|
||||
|
||||
CrypConfigure crypConfigure = list.get(0);
|
||||
log.debug("秘钥:"+crypConfigure.getCValue());
|
||||
log.debug("加密参数:"+JSONArray.toJSONString(object));
|
||||
String signValue = CrypServiceImpl.signObject2(object,crypConfigure.getCValue());
|
||||
URL pem = CrypConfigureServiceImpl.class.getClassLoader().getResource(PEM_PATH);
|
||||
String signValue = CrypServiceImpl.signObject(object,pem.getPath());
|
||||
log.debug("加密结果:"+signValue);
|
||||
return signValue;
|
||||
}
|
||||
@ -178,7 +177,11 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
||||
reqhead.setSystemName("bidding");
|
||||
reqhead.setUserId(service.getCacheUser().getUserId()!=null?service.getCacheUser().getUserId():"system");
|
||||
reqhead.setUserName(service.getCacheUser().getFullName()!=null?service.getCacheUser().getFullName():"电子招投标");
|
||||
reqhead.setAccessToken(AccessToken.tokenCreate("bidding"));
|
||||
//测试写死
|
||||
String accessToken = "MQjkzVoYoSHe6r/3uZm0MV/TLx+n8PS9ivfPhgY4bWmh+8DVxj7vTC15xbBkuV8oujD3XBZPP7PhcWag9UU5IzsUBT7PSwPhqi/fUqa+iAWhCWpvyihG/23BAY3rJyaoa3OdMNSnIh8woPDCJQTzCTpNtg0toKwdWnuc2mig7vI0Lm9lePvrx3XxFLSaFr+jB5C3qnAX4uUBioZzithSjtra1QUK6S1cb9DCmpj6NRI=";
|
||||
//String accessToken = AccessToken.tokenCreate("bidding");
|
||||
reqhead.setAccessToken(accessToken);
|
||||
|
||||
|
||||
log.debug("业务参数封装前:"+map);
|
||||
UniCrpyReq req = new UniCrpyReq();
|
||||
@ -202,20 +205,10 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
||||
public Boolean verifyObject(CrypBean bean){
|
||||
|
||||
try{
|
||||
//查询
|
||||
LambdaQueryWrapper<CrypConfigure> query = Wrappers.lambdaQuery();
|
||||
query.eq(CrypConfigure::getState,"1")
|
||||
.eq(CrypConfigure::getDeleteFlag, CommonConstants.STATUS_NORMAL)
|
||||
.eq(CrypConfigure::getType,"1")
|
||||
.eq(CrypConfigure::getCCode,"crt_key");
|
||||
|
||||
List<CrypConfigure> list = this.list(query);
|
||||
CrypConfigure crypConfigure = list.get(0);
|
||||
log.debug("解密秘钥:"+crypConfigure.getCValue());
|
||||
log.debug("解密参数:"+JSONArray.toJSONString(bean.getObject()));
|
||||
Boolean b = CrypServiceImpl.verifyValue(bean.getSign(),
|
||||
bean.getObject(),
|
||||
crypConfigure.getCValue());
|
||||
URL crt = CrypConfigureServiceImpl.class.getClassLoader().getResource(CRT_PATH);
|
||||
|
||||
Boolean b = CrypServiceImpl.verifyObject(bean.getSign(),bean.getObject(),crt.getPath());
|
||||
return b;
|
||||
}catch (Exception e){
|
||||
|
||||
@ -224,37 +217,41 @@ public class CrypConfigureServiceImpl extends BaseServiceImpl<CrypConfigureMappe
|
||||
return false;
|
||||
}
|
||||
|
||||
private static final String CRT_PATH = "D:\\工作\\联通\\代码\\3.0\\区块链\\数据签名生成程序\\adminNew.crt";
|
||||
|
||||
public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, UnsupportedEncodingException {
|
||||
|
||||
String token = AccessToken.tokenCreate("123");
|
||||
System.out.println(token);
|
||||
// example of HashMap entity, treeMap can also work out,
|
||||
// but LinkedHashMap is NOT supported
|
||||
Map<String,Object> mapb= new HashMap<>();
|
||||
// Map<String,Object> mapb= new HashMap<>();
|
||||
//
|
||||
// Map<String,String> map = new HashMap<>(1);
|
||||
// map.put("TENDERER_ID","8533");
|
||||
// map.put("SHOPPINGCART_ID","L3307");
|
||||
// map.put("AMOUNT","1000");
|
||||
// map.put("TP_ID","L3307A");
|
||||
// map.put("SECTION_ID","1111");
|
||||
//
|
||||
// List list = new ArrayList();
|
||||
// list.add(map);
|
||||
// //mapb.put("BODY_LIST",list);
|
||||
//
|
||||
// CrypConfigureServiceImpl crypService = new CrypConfigureServiceImpl();
|
||||
// CrypBean bean = crypService.signObject(list);
|
||||
// System.out.println(bean);
|
||||
|
||||
Map<String,String> map = new HashMap<>(1);
|
||||
map.put("TENDERER_ID","8533");
|
||||
map.put("SHOPPINGCART_ID","L3307");
|
||||
map.put("AMOUNT","1000");
|
||||
map.put("TP_ID","L3307A");
|
||||
map.put("SECTION_ID","1111");
|
||||
|
||||
List list = new ArrayList();
|
||||
list.add(map);
|
||||
//mapb.put("BODY_LIST",list);
|
||||
|
||||
System.out.println(mapb);
|
||||
|
||||
String pkey = "-----BEGIN PRIVATE KEY-----\n" +
|
||||
"MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgfb0OcgWWFJGaOmVI\n" +
|
||||
"LxEpIRTsICs0ssgJZqpuZQUhTIGhRANCAAQ8dPtVEfZfm2wXdqoqYpColaJ4MxiJ\n" +
|
||||
"rFoUUMepAwuIQLaSZIH1+YbUkr/P+ybC1cbiBMrZjCxiAimk7dLxmUkx\n" +
|
||||
"-----END PRIVATE KEY-----";
|
||||
//"MEUCIQC0TNG+JlFa2kCwQOdYer69cA4psgDoK9ulqdKyK5BEwQIgFOlVofB+xDVOCSuj7t2Pp3z0fyyiuXPy5dRMsOMoh3U=";
|
||||
String signature = CrypServiceImpl.signObject2(list,pkey);
|
||||
System.out.println("signature of Map: "+signature);
|
||||
boolean isOk = CrypServiceImpl.verifyObject(signature,list,CRT_PATH);
|
||||
System.out.println("verify result of Map: "+ isOk);
|
||||
// System.out.println(mapb);
|
||||
//
|
||||
// String pkey = "-----BEGIN PRIVATE KEY-----\n" +
|
||||
// "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgfb0OcgWWFJGaOmVI\n" +
|
||||
// "LxEpIRTsICs0ssgJZqpuZQUhTIGhRANCAAQ8dPtVEfZfm2wXdqoqYpColaJ4MxiJ\n" +
|
||||
// "rFoUUMepAwuIQLaSZIH1+YbUkr/P+ybC1cbiBMrZjCxiAimk7dLxmUkx\n" +
|
||||
// "-----END PRIVATE KEY-----";
|
||||
// //"MEUCIQC0TNG+JlFa2kCwQOdYer69cA4psgDoK9ulqdKyK5BEwQIgFOlVofB+xDVOCSuj7t2Pp3z0fyyiuXPy5dRMsOMoh3U=";
|
||||
// String signature = CrypServiceImpl.signObject2(list,pkey);
|
||||
// System.out.println("signature of Map: "+signature);
|
||||
// boolean isOk = CrypServiceImpl.verifyObject(signature,list,CRT_PATH);
|
||||
// System.out.println("verify result of Map: "+ isOk);
|
||||
|
||||
}
|
||||
}
|
||||
|
16
src/main/resources/adminNew.crt
Normal file
16
src/main/resources/adminNew.crt
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICgjCCAimgAwIBAgIUYP62P06sD2LqFyrCW8gDB4EvOmowCgYIKoZIzj0EAwIw
|
||||
ZzELMAkGA1UEBhMCQ04xETAPBgNVBAgTCFNoYW5Eb25nMQ4wDAYDVQQHEwVKaU5h
|
||||
bjEYMBYGA1UEChMPYWRtaW50MDgxMmFvcmczMRswGQYDVQQDExJjYS5hZG1pbnQw
|
||||
ODEyYW9yZzMwHhcNMjEwODMxMDYzMDAwWhcNMjIwODMxMDYzNTAwWjAzMRwwDQYD
|
||||
VQQLEwZjbGllbnQwCwYDVQQLEwRvcmczMRMwEQYDVQQDDAphZG1pbkBvcmczMFkw
|
||||
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPHT7VRH2X5tsF3aqKmKQqJWieDMYiaxa
|
||||
FFDHqQMLiEC2kmSB9fmG1JK/z/smwtXG4gTK2YwsYgIppO3S8ZlJMaOB5jCB4zAO
|
||||
BgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUxhcLh6TJkZkr
|
||||
4aj4/P9YvfuSWGwwKwYDVR0jBCQwIoAg39Z8xQV3+pq1DBYm7uNMvAqFNpkbsvGe
|
||||
LZX537X16UEwFAYDVR0RBA0wC4IJSlpaSEpTLTcyMGEGCCoDBAUGBwgBBFV7ImF0
|
||||
dHJzIjp7ImhmLkFmZmlsaWF0aW9uIjoib3JnMyIsImhmLkVucm9sbG1lbnRJRCI6
|
||||
ImFkbWluQG9yZzMiLCJoZi5UeXBlIjoiY2xpZW50In19MAoGCCqGSM49BAMCA0cA
|
||||
MEQCIHqfq7vUlpdZUzV/qOeIvmLpom4qKzVuBmp2Bkl5M0LNAiAl7Y9a6TiCMx9/
|
||||
0XMXsg5XS07GeLH9e94vY2y5GN/QZA==
|
||||
-----END CERTIFICATE-----
|
5
src/main/resources/admin_certPrivateNew.pem
Normal file
5
src/main/resources/admin_certPrivateNew.pem
Normal file
@ -0,0 +1,5 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgfb0OcgWWFJGaOmVI
|
||||
LxEpIRTsICs0ssgJZqpuZQUhTIGhRANCAAQ8dPtVEfZfm2wXdqoqYpColaJ4MxiJ
|
||||
rFoUUMepAwuIQLaSZIH1+YbUkr/P+ybC1cbiBMrZjCxiAimk7dLxmUkx
|
||||
-----END PRIVATE KEY-----
|
Reference in New Issue
Block a user