Compare commits

...

2 Commits

Author SHA1 Message Date
gaowdong 8e106fd5ca Merge remote-tracking branch 'origin/master' 2025-03-18 16:22:48 +08:00
gaowdong fe79f504d3 双屏机-设备接口-交换密钥 2025-03-18 16:22:40 +08:00
3 changed files with 22 additions and 10 deletions

View File

@ -159,9 +159,9 @@ public class SecureProperties {
public Security() {
this.serverSm4KeyBytes = Base64Decoder.decode(this.serverSm4Key);
this.serverSm2Key = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgCtqk5Jj7pPWh91d9mPA4Kd7fOfzBULrnAERNDV+4XBCgCgYIKoEcz1UBgi2hRANCAARykhB6sXHWTbB60Pr+laPqEP5JBRpEcySONKKP5Q03o/g3OpnQXc7aVMdLUxL8wD1wQHEu4KHmHQr7jvVt0rkM";
this.serverSm2Key = "D55F4709BE51FCDC71D6385885A5CAEE70A09438F862BEB4E56F64A70C76EF5F";
this.serverSm2KeyBytes = Base64Decoder.decode(this.serverSm2Key);
this.clientSm2Key = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEcpIQerFx1k2wetD6/pWj6hD+SQUaRHMkjjSij+UNN6P4NzqZ0F3O2lTHS1MS/MA9cEBxLuCh5h0K+471bdK5DA==";
this.clientSm2Key = "04768E8E44656FFD4BA58C0270002A28365A5F6B0F6D40E88B9221CDFAAA8E82C8CCEDBA5FC2D03F20B11492EBE90CC04782682AFE326363A503F086C04A14092C";
this.clientSm2KeyBytes = Base64Decoder.decode(this.serverSm2Key);
this.timestampHeaderName = "X-Security-Timestamp";
this.nonceHeaderName = "X-Security-Nonce";

View File

@ -1,5 +1,6 @@
package com.bonus.canteen.core.config;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.codec.Base64Decoder;
import cn.hutool.core.codec.Base64Encoder;
import cn.hutool.core.util.PrimitiveArrayUtil;
@ -10,6 +11,7 @@ import cn.hutool.crypto.SmUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.SM2;
import cn.hutool.crypto.symmetric.SM4;
import com.bonus.canteen.core.common.utils.SpringContextHolder;
import com.google.common.base.Joiner;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.slf4j.Logger;
@ -24,8 +26,7 @@ import java.util.SortedMap;
public class SmUtils {
private static final Logger log = LoggerFactory.getLogger(SmUtils.class);
private static SecureProperties secureProperties;
private static SecureProperties secureProperties = SpringContextHolder.getBean(SecureProperties.class);
public static void setSecureProperties(SecureProperties secureProperties) {
if (SmUtils.secureProperties == null) {
SmUtils.secureProperties = secureProperties;
@ -93,12 +94,12 @@ public class SmUtils {
private static void sm2() {
System.out.println("=================sm2===================");
String privateKeyStr = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgCtqk5Jj7pPWh91d9mPA4Kd7fOfzBULrnAERNDV+4XBCgCgYIKoEcz1UBgi2hRANCAARykhB6sXHWTbB60Pr+laPqEP5JBRpEcySONKKP5Q03o/g3OpnQXc7aVMdLUxL8wD1wQHEu4KHmHQr7jvVt0rkM";
String pubKeyStr = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEcpIQerFx1k2wetD6/pWj6hD+SQUaRHMkjjSij+UNN6P4NzqZ0F3O2lTHS1MS/MA9cEBxLuCh5h0K+471bdK5DA==";
SM2 sm2 = SmUtil.sm2("MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgCtqk5Jj7pPWh91d9mPA4Kd7fOfzBULrnAERNDV+4XBCgCgYIKoEcz1UBgi2hRANCAARykhB6sXHWTbB60Pr+laPqEP5JBRpEcySONKKP5Q03o/g3OpnQXc7aVMdLUxL8wD1wQHEu4KHmHQr7jvVt0rkM", "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEcpIQerFx1k2wetD6/pWj6hD+SQUaRHMkjjSij+UNN6P4NzqZ0F3O2lTHS1MS/MA9cEBxLuCh5h0K+471bdK5DA==");
String data = "liolay";
String privateKeyStr = "D55F4709BE51FCDC71D6385885A5CAEE70A09438F862BEB4E56F64A70C76EF5F";
String pubKeyStr = "04768E8E44656FFD4BA58C0270002A28365A5F6B0F6D40E88B9221CDFAAA8E82C8CCEDBA5FC2D03F20B11492EBE90CC04782682AFE326363A503F086C04A14092C";
SM2 sm2 = SmUtil.sm2(privateKeyStr, pubKeyStr);
String data = "liolay123466789";
byte[] encrypt = sm2.encrypt("liolay".getBytes(StandardCharsets.UTF_8));
System.out.println("encrypt:" + Base64Encoder.encode(encrypt));
System.out.println("encrypt:" + Base64.encode(encrypt));
PrintStream var10000 = System.out;
byte[] var10001 = sm2.sign(data.getBytes(StandardCharsets.UTF_8));
var10000.println("sign:" + Base64Encoder.encode(var10001));

View File

@ -9,4 +9,15 @@ spring:
system:
mqtt-tcp-address: ${MQTT_TCP_ADDRESS:${RABBITMQ_CLIENT_ADDRESS:192.168.97.215:40003}}
mqtt-websocket-address: ${MQTT_WEBSOCKET_ADDRESS:${RABBITMQ_WEB_CLIENT_ADDRESS:}}
mqtt-websocket-address: ${MQTT_WEBSOCKET_ADDRESS:${RABBITMQ_WEB_CLIENT_ADDRESS:}}
secure:
prohibit-unannotated-handler: false
expireAfter: ${SECURE_EXPIREAFTER:172800}
security:
encryptUriPrefix: /security
serverSm2Key: D55F4709BE51FCDC71D6385885A5CAEE70A09438F862BEB4E56F64A70C76EF5F
serverSm4Key: StqtdHhleMKClUGbmBqdrg==
clientKeySignParamName: securityClientKey
maxWindowSeconds: 300
ignoredUri:
- /security/captcha/