From ca32bb4c18da44aa10f3bedb1628cf0e687d6c19 Mon Sep 17 00:00:00 2001 From: cheney Date: Tue, 28 Feb 2023 15:20:38 +0800 Subject: [PATCH] save --- .../java/com/sunyard/sydapi/test/Test74.java | 3 +- src/test/java/sample/Shangqing.java | 88 +++++++++++++++++++ 2 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 src/test/java/sample/Shangqing.java diff --git a/src/test/java/com/sunyard/sydapi/test/Test74.java b/src/test/java/com/sunyard/sydapi/test/Test74.java index 887e871..d1c235b 100644 --- a/src/test/java/com/sunyard/sydapi/test/Test74.java +++ b/src/test/java/com/sunyard/sydapi/test/Test74.java @@ -1,14 +1,13 @@ package com.sunyard.sydapi.test; import com.sunyard.SydApi; -import com.sunyard.cert.X509; import com.sunyard.proto.Util; import racal.sunyard.main.SydApi4j; public class Test74 { public static void main(String[] args) { - SydApi4j.SYD_Set_Parameter_HA("unkown", "172.16.17.162", 8889, 1000); + SydApi4j.SYD_Set_Parameter_HA("unkown", "172.16.17.161", 8889, 1000); SydApi4j api = (SydApi4j) new SydApi4j(); diff --git a/src/test/java/sample/Shangqing.java b/src/test/java/sample/Shangqing.java new file mode 100644 index 0000000..0e555f1 --- /dev/null +++ b/src/test/java/sample/Shangqing.java @@ -0,0 +1,88 @@ +package sample; + +import com.sunyard.RetWrap; +import com.sunyard.SydApi; +import com.sunyard.proto.Util; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import racal.sunyard.main.SydApi4j; + +public class Shangqing { + + private SydApi4j api; + + // 测试数据 + private String uid = "111"; + private String dn = "C=CN,ST=321,L=123123,O=123,OU=321,OU=321,CN=123"; + private byte[] orgData = new byte[2 * 1024 * 1024]; + + @Before + public void before() { + // 通过设置debug的属性开启debug,如果不设置则默认不打开 + System.setProperty("com.sunyard.sydapi4j.debug", "true"); + api = (SydApi4j) new SydApi4j().connect("172.16.17.161", 8889, null, 1000); + } + + @After + public void after() { + try { + this.api.disconnect(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 裸签示例 + * 1.10 SM2GetPublicKeyC + * 1.1.3 SYD_SM2_Sign_HA + * 1.2.3 SYD_SM2_Verify_HA + */ + @Test + public void sv(){ + + String pk = api.SM2GetPublicKeyC(uid, 0 ); + + String sign2 = api.SYD_SM2_Sign_HA( + uid, + SydApi.DATA_HASH, + Util.hexString2Bytes(pk), + orgData + ); + System.out.print("\n\n----- SM2 算法签名 结果: "); + System.out.println( sign2 ); + + System.out.println( api.SYD_SM2_Verify_HA( + SydApi.DATA_HASH, + Util.hexString2Bytes(pk), + orgData , + sign2 + ) ); + + } + + + /** + * 数字信封示例 + * 1.3 generateDEByDn + * 1.4 decryptDEByDN + */ + @Test + public void dm(){ + // 生成数字信封 + RetWrap retWrap = api.generateDEByDn(dn, orgData ); + byte[] cipherKey = (byte[]) retWrap.get(SydApi.RET_CIPHER_KEY); + System.out.println("数字信封: " + new String(cipherKey)); + + // 解密数字信封 + RetWrap retWrap1 = api.decryptDEByDN(dn, cipherKey); + byte[] oData = (byte[]) retWrap1.get("oData"); + + Assert.assertArrayEquals( oData, orgData ); + } + + +}