From 385e77b766a6f0ed469ed49047555bec91a912f0 Mon Sep 17 00:00:00 2001 From: cheney Date: Mon, 1 Jun 2026 10:02:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8D=8F=E8=AE=AE=EF=BC=8Cin?= =?UTF-8?q?dex=20=E6=94=B9=E4=B8=BA=204=20=E5=AD=97=E8=8A=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/racal/sunyard/main/SydApi4j.java | 8 +++--- src/test/java/cmbpoc/FunctionTest.java | 28 ++++++++++++++----- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/main/java/racal/sunyard/main/SydApi4j.java b/src/main/java/racal/sunyard/main/SydApi4j.java index 1ae4b6d..96f6997 100644 --- a/src/main/java/racal/sunyard/main/SydApi4j.java +++ b/src/main/java/racal/sunyard/main/SydApi4j.java @@ -6907,12 +6907,12 @@ public class SydApi4j implements SydApi { if ( 1 == dataType ) { // 数据 bb.put(ByteUtil.shortToBytes((short) pOrgData.limit())); bb.put(pOrgData); - bb.put(ByteUtil.shortToBytes((short)idx)); + bb.put(ByteUtil.intToBytes(idx)); } if ( 3 == dataType) { // 仅数据长度 bb.put( ByteUtil.shortToBytes((short) (63*1024)) ); - bb.put( ByteUtil.shortToBytes((short)idx)); + bb.put( ByteUtil.intToBytes(idx)); } @@ -7042,11 +7042,11 @@ public class SydApi4j implements SydApi { if (dataType == 1) { // 密文块 bb.put(ByteUtil.shortToBytes((short) pCipherData.limit())); bb.put(pCipherData); - bb.put(ByteUtil.shortToBytes((short) idx)); + bb.put(ByteUtil.intToBytes(idx)); } if (dataType == 3) { // 请求明文块 bb.put(ByteUtil.shortToBytes((short) (63 * 1024))); - bb.put(ByteUtil.shortToBytes((short) idx)); + bb.put(ByteUtil.intToBytes(idx)); } // 填写总长度(长度字段本身不包含在内) diff --git a/src/test/java/cmbpoc/FunctionTest.java b/src/test/java/cmbpoc/FunctionTest.java index decba4a..6e1ede9 100644 --- a/src/test/java/cmbpoc/FunctionTest.java +++ b/src/test/java/cmbpoc/FunctionTest.java @@ -1,10 +1,8 @@ package cmbpoc; +import com.sunyard.RetWrap; import com.sunyard.proto.Util; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.*; import racal.sunyard.main.SydApi4j; public class FunctionTest { @@ -22,7 +20,7 @@ public class FunctionTest { System.setProperty("com.sunyard.sydapi4j.debug", "true"); // 建立链接(单台) - this.api = (SydApi4j) new SydApi4j().connect("192.168.0.100", 8889, null, 1000); + this.api = (SydApi4j) new SydApi4j().connect("192.168.21.166", 8889, null, 1000); } @@ -37,13 +35,29 @@ public class FunctionTest { + @Ignore + @Test + public void genKeyPair(){ + RetWrap r = this.api.SYD_SM2GenKeyPair(); + String pk = r.get("publicKey").toString(); + String sk = r.get("privateKey").toString(); + + System.out.println("pk=" + pk); + System.out.println("sk=" + sk); + + this.privateKey = Util.hexString2Bytes(sk); + this.publicKey = Util.hexString2Bytes(pk); + } + + + + @Ignore @Test public void getPrivateKeyAndPublickKey(){ this.publicKey = Util.hexString2Bytes( this.api.SM2GetPublicKeyC(keypairIndex) ); - this.privateKey = Util.hexString2Bytes( this.api.SM2GetPrivateKeyC(keypairIndex) ); @@ -61,7 +75,7 @@ public class FunctionTest { @Test public void SYD_SM2_Encrypt(){ - byte[] enData = this.api.SYD_SM2_Encrypt(publicKey, orgData); + byte[] enData = this.api.SYD_SM2Encrypt(publicKey, orgData); byte[] deData = this.api.SYD_SM2Decrypt(privateKey, enData); Assert.assertArrayEquals(enData, deData); }