From 52e47a5809a86747d895f46a89e108f204127e50 Mon Sep 17 00:00:00 2001 From: cheney Date: Mon, 17 Apr 2023 14:29:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E7=A4=BA=E4=BE=8B=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/racal/sunyard/main/SydApi4j.java | 4 +- src/test/java/sample/Shanghairenhang.java | 129 ------------------ src/test/java/sample/Shangqing.java | 4 +- src/test/java/sample/ShangqingXingye.java | 111 --------------- 4 files changed, 4 insertions(+), 244 deletions(-) delete mode 100644 src/test/java/sample/Shanghairenhang.java delete mode 100644 src/test/java/sample/ShangqingXingye.java diff --git a/src/main/java/racal/sunyard/main/SydApi4j.java b/src/main/java/racal/sunyard/main/SydApi4j.java index 338bc00..fa275d1 100644 --- a/src/main/java/racal/sunyard/main/SydApi4j.java +++ b/src/main/java/racal/sunyard/main/SydApi4j.java @@ -1560,7 +1560,7 @@ public class SydApi4j implements SydApi { // } - private static void println(Object i) { + static void println(Object i) { if (debug) { System.out.println(i); } @@ -1569,7 +1569,7 @@ public class SydApi4j implements SydApi { } } - private static void print(Object i) { + static void print(Object i) { if (debug) { System.out.print(i); } diff --git a/src/test/java/sample/Shanghairenhang.java b/src/test/java/sample/Shanghairenhang.java deleted file mode 100644 index 3667070..0000000 --- a/src/test/java/sample/Shanghairenhang.java +++ /dev/null @@ -1,129 +0,0 @@ -package sample; - -import cn.hutool.crypto.asymmetric.SM2; -import com.sunyard.RetWrap; -import com.sunyard.cert.X509; -import com.sunyard.proto.Util; -import com.sunyard.util.ASN1Util; -import com.sunyard.util.CertUtil; -import org.junit.Test; -import racal.sunyard.main.SydApi4j; -import racal.sunyard.main.SydApiBuilder; - -import java.io.UnsupportedEncodingException; -import java.security.NoSuchProviderException; -import java.security.cert.CertificateException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static com.sunyard.sydapi.util.PrintUtil.printRetWrap; - -public class Shanghairenhang { - private static final byte[] orgData2k = new byte[ 2000*1024 ]; - private static final String pcDnEN = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1"; - private static final String RSA = "C=cn,O=CFCA TEST CA,OU=NCS2,OU=Enterprises,CN=041@Z402451000010@ShanDong@00000001"; - - private static final String RSA2 = "C=CN,O=sunyard,OU=rsa,CN=javaRsa"; - - public static void main(String[] args) throws UnsupportedEncodingException, CertificateException, NoSuchProviderException { - // System.setProperty("com.sunyard.sydapi4j.debug", "true"); - long startTime = System.currentTimeMillis(); //获取开始时间 - SydApiBuilder builder = new SydApiBuilder().setIp("192.168.0.200"); - SydApi4j api = (SydApi4j) builder.build(); - - try { - - String orgData = "123456"; - - - /** - * 产生对称密钥,通过公钥加密生成数字信封,。 - * @param pcDnEN: 清算所的公钥证书 - * @param pcData: 明文数据。 - * @return RetWrap: 数字信封 - */ - - - // 获取加密证书 -// String cert = api.getCertByDn(pcDnEN); -// -// System.out.println("cert=" + cert); - RetWrap status = api.getStatus(); - String mem =(String) status.get("MEM"); - String cpu =(String) status.get("CPU"); - String disk =(String) status.get("DISK"); - System.out.println(mem+cpu+disk); - - - RetWrap signData = api.generateDEByDn(pcDnEN, orgData.getBytes()); - byte[] cpkey2 = (byte[]) signData.get("CipherKey"); - System.out.println("加密信封:" + new String(cpkey2)); - - /** - * 接收用私钥解密数字信封,还原原文。。 - * @param pcDnEN: 清算所的公钥证书 - * @param cpkey: 数字信封。 - * @return preData: 原数据 - */ - RetWrap oDataWrap = api.decryptDEByDN(pcDnEN,cpkey2 ); - byte[] preData = (byte[]) oDataWrap.get("oData"); - System.out.println("解密信封:" + Util.bytes2HexString(preData)); - - } catch (Exception e) { - e.printStackTrace(); - } finally { - long endTime = System.currentTimeMillis(); //获取结束时间 - System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间 - } - - } - - @Test - public void testRenhang() throws UnsupportedEncodingException { - //System.setProperty("com.sunyard.sydapi4j.debug", "true"); - SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161"); - SydApi4j api = (SydApi4j) builder.build(); - String attachedSign = api.attachedSign(2,orgData2k, RSA2); - System.out.println(attachedSign); - boolean attachedVerify = api.attachedVerify(2,attachedSign); - System.out.println(attachedVerify); -// byte[] hash = api.RSAHash(2, orgData2k); -// System.out.println(Util.bytes2HexString(hash)); - - -// byte[] bytes = api.SYD_NakedSign(orgData2k, pcDnEN); -// System.out.println(Util.bytes2HexString(bytes)); - } - @Test - public void aboutCert() throws UnsupportedEncodingException { - //System.setProperty("com.sunyard.sydapi4j.debug", "true"); - SydApiBuilder builder = new SydApiBuilder().setIp("192.168.1.100"); - SydApi4j api = (SydApi4j) builder.build(); - RetWrap allCert = api.getAllCert(0); - printRetWrap(allCert); - - List certs= api.getAllCert(); - System.out.println("所有证书"+certs); - System.out.println(certs.size()); - - - } - - @Test - public void nakedsign(){ - // System.setProperty("com.sunyard.sydapi4j.debug", "true"); - SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161"); - SydApi4j api = (SydApi4j) builder.build(); - - - byte[] nakedSign2 = api.SYD_NakedSign(orgData2k, pcDnEN); - System.out.println("大数据裸签:"+ Util.bytes2HexString(nakedSign2)); - boolean nakedVerify2 = api.SYD_NakedVerify(orgData2k, nakedSign2, pcDnEN); - System.out.println("大数据验签:"+nakedVerify2 ); - - - } - -} \ No newline at end of file diff --git a/src/test/java/sample/Shangqing.java b/src/test/java/sample/Shangqing.java index 0e555f1..7839daf 100644 --- a/src/test/java/sample/Shangqing.java +++ b/src/test/java/sample/Shangqing.java @@ -14,8 +14,8 @@ 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 String uid = "8012"; + private String dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1"; private byte[] orgData = new byte[2 * 1024 * 1024]; @Before diff --git a/src/test/java/sample/ShangqingXingye.java b/src/test/java/sample/ShangqingXingye.java deleted file mode 100644 index ff887c5..0000000 --- a/src/test/java/sample/ShangqingXingye.java +++ /dev/null @@ -1,111 +0,0 @@ -package sample; - -import cn.hutool.crypto.asymmetric.SM2; -import com.sunyard.RetWrap; -import com.sunyard.cert.X509; -import com.sunyard.proto.Util; -import com.sunyard.util.ASN1Util; -import com.sunyard.util.CertUtil; -import org.junit.Test; -import racal.sunyard.main.SydApi4j; -import racal.sunyard.main.SydApiBuilder; - -import java.io.UnsupportedEncodingException; -import java.security.NoSuchProviderException; -import java.security.cert.CertificateException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static com.sunyard.sydapi.util.PrintUtil.printRetWrap; - -public class ShangqingXingye { - private static final byte[] orgData2k = new byte[ 16 ]; - private static final String pcDnEN = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1"; - private static final String RSA = "C=cn,O=CFCA TEST CA,OU=NCS2,OU=Enterprises,CN=041@Z402451000010@ShanDong@00000001"; - - public static void main(String[] args) throws UnsupportedEncodingException, CertificateException, NoSuchProviderException { - System.setProperty("com.sunyard.sydapi4j.debug", "true"); - long startTime = System.currentTimeMillis(); //获取开始时间 - SydApiBuilder builder = new SydApiBuilder().setIp("192.168.0.200"); - SydApi4j api = (SydApi4j) builder.build(); - - try { - String orgData = "123456"; -// - /** - * 产生对称密钥,通过公钥加密生成数字信封,。 - * @param pcDnEN: 清算所的公钥证书 - * @param pcData: 明文数据。 - * @return RetWrap: 数字信封 - */ - RetWrap signData = api.generateDEByDn(pcDnEN, orgData2k); - byte[] cpkey2 = (byte[]) signData.get("CipherKey"); - System.out.println("加密信封:" + new String(cpkey2)); - - /** - * 接收用私钥解密数字信封,还原原文。。 - * @param pcDnEN: 清算所的公钥证书 - * @param cpkey: 数字信封。 - * @return preData: 原数据 - */ - RetWrap oDataWrap = api.decryptDEByDN(pcDnEN, cpkey2); - byte[] preData = (byte[]) oDataWrap.get("oData"); - System.out.println("解密信封:" + Util.bytes2HexString(preData)); - -// -// /** -// * 通过指定的私钥对指定的原始数据编制带公钥证书的数字签名(遵循PKCS#7), -// * @param orgData: 待签名的原始数据 -// * @param pcDnEN: 签名者证书 DN -// * @return signsData: 签名数据 -// */ - String signsData = api.SYD_SM2_DetachedSign_HA(orgData2k, pcDnEN); - System.out.println("签名数据:" + signsData); - - /** - * 利用清算所的公钥证书对签名数据进行验签。 - * @param dataType: 数据模式, 0:输入的数据为 HASH 后的数据, 1:输入的数据为原始数据库(本次传入1) - * @param orgData: 待签名的原始数据 - * @param sign: 签名数据。 - */ - boolean result = api.detachedVerify(1, orgData2k, signsData); - System.out.println("验签结果:" + result); - - - /** - * 产生对称密钥,通过清算所公钥证书加密生成数字信封。 - * 利用会员的私钥证书对数据进行签名 - * 上清所 SYD_SignDzigitalEnvelope (String pcDnEN, String pcDnSign, byte[] pcData); - * @param pcDnEN: 清算所的公钥证书 - * @param pcDnSign:会员的私钥证书 - * @param pcData: 明文数据。 - * @return pcSignData: 签名数字信封 - */ - String pcSignData = api.SYD_SignDigitalEnvelope(pcDnEN, pcDnEN, orgData2k); - System.out.println("签名数字信封:" + pcSignData); - - /** - * 利用清算所公钥证书对签名数据进行验签。接收用会员的私钥证书解密数字信封,还原原文。 - * 上清所 byte[] SYD_VerifyDigitalEnveloe(String pcDnDe, String pcDnVerify, String pcSignData ); - * @param pcDnDe: 会员的私钥证书 - * @param pcDnVerify: 清算所公钥证书 - * @param pcSignData: 签名数字信封数据。 - * @return pcData:原数据 - */ - - byte[] oData = api.SYD_VerifyDigitalEnveloe(pcDnEN, pcDnEN, pcSignData); - System.out.println("原数据:" + Util.bytes2HexString(oData)); - - - } catch (Exception e) { - e.printStackTrace(); - } finally { - long endTime = System.currentTimeMillis(); //获取结束时间 - System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间 - } - - } - -} \ No newline at end of file