This commit is contained in:
yihzhou
2023-09-18 10:49:04 +08:00
parent 6f833730c2
commit 9af716e87d
6 changed files with 655 additions and 641 deletions
+20 -6
View File
@@ -13,18 +13,18 @@ import java.util.regex.Pattern;
public class Sample4HY {
private static final String SM2dn = "C=cn,O=CFCA TEST OCA1,OU=Local RA,OU=Organizational-1,CN=041@Z8000000001938231GX0@8000000001938231GX0@00000001";
private static final String SM2dn2 = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1" ;
private static final String SM2dn2 = "C=CN,O=Sunyard,OU=8001,CN=8001" ;
private static final byte[] orgData = new byte[ 1*1024];
private static final byte[] orgData = new byte[ 10*1024];
public static void main(String[] args) {
//调试模式(控制台会打印发送报文)
System.setProperty("com.sunyard.sydapi4j.debug", "true");
//System.setProperty("com.sunyard.sydapi4j.debug", "true");
//证书是否反序校验
//System.setProperty("com.sunyard.dnsort", "false");
//主备模式连接
SydApi4j.SYD_Set_Parameter_HA("172.16.17.1", "172.16.17.16", 8889, 1000);
SydApi4j.SYD_Set_Parameter_HA("172.16.17.47", "172.16.17.16", 8889, 1000);
SydApi4j api = (SydApi4j) new SydApi4j();
//设置连接
// SydApiBuilder builder = new SydApiBuilder().setIp("192.168.0.100");
@@ -33,11 +33,25 @@ public class Sample4HY {
// SM2裸签
byte[] nakedSign1 = api.SYD_NakedSign(orgData, SM2dn2);
System.out.println("SM2数据裸签:"+ Util.encodeBase64(nakedSign1));
System.out.println("SM2数据裸签:"+ Util.bytes2HexString(nakedSign1));
boolean nakedVerify1 = api.SYD_NakedVerify(orgData, nakedSign1, SM2dn2);
String sign= "30450221008E2342E7C1CECACC46BF7CB6777382FE6A1B19D89DF80428B87630EEC8D4D4CD02200CF82B240708765432ED74495DD73A0BF1E6DCDE6AE56C6CB4BEFA1A875E777E";
boolean nakedVerify1 = api.SYD_NakedVerify(orgData, Util.hexString2Bytes(sign), SM2dn2);
System.out.println("SM2数据验签:"+nakedVerify1 );
String s = api.detachedSign(1, orgData, SM2dn2);
System.out.println("原始数据小于4k签名:"+s);
//原始数据大于4k
byte[] hash = api.SM3Hash(orgData);//计算hash
String s2 = api.detachedSign(0, hash, SM2dn2);
System.out.println("原始数据大于4k签名:"+s2);
String aa = "MIIDLwYKKoEcz1UGAQQCAqCCAx8wggMbAgEBMQ4wDAYIKoEcz1UBgxEFADAMBgoqgRzPVQYBBAIBoIICMTCCAi0wggHSoAMCAQICBgGKaA2T3TAMBggqgRzPVQGDdQUAMEsxCzAJBgNVBAYTAkNOMQ4wDAYDVQQKEwVHTVNTTDEQMA4GA1UECxMHUEtJL1NNMjEaMBgGA1UEAxMRTWlkZGxlQ0EgZm9yIFRlc3QwIhgPMjAyMzA5MDUxNjAwMDBaGA8yMDI0MDkwNTE2MDAwMFowXTELMAkGA1UEBgwCQ04xCzAJBgNVBAgMAnpqMQswCQYDVQQHDAJoejEQMA4GA1UECgwHc3VueWFyZDEQMA4GA1UECwwHU00yVGVzdDEQMA4GA1UEAwwHU00yVGVzdDBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABJLNr8XSXI2UFvhoW5vBZMJUAyjzBaPR+0klKxVxwwKodFdH3iNrRjNf7Zj6ye8rP8TqKzHu9+zc1Wm3/DBPeiGjgYkwgYYwGwYDVR0jBBQwEoAQ+X9VtCeUM2KmVspvzF0a/zAZBgNVHQ4EEgQQK7bhyJnGBrfCV6cWZnJQJDAxBggrBgEFBQcBAQQlMCMwIQYIKwYBBQUHMAGGFWh0dHBzOi8vb2NzcC5nbXNzbC5jbjAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIAwDAMBggqgRzPVQGDdQUAA0cAMEQCIAHfg+kXDY0hwKtcFh4QBrI+C+96RPc5HuT8ls9Ribd2AiB4jFCV7CSa3aBscynS5LHEM1UNX9BxwMs9gtHUkDjLlDGBwjCBvwIBATBVMEsxCzAJBgNVBAYTAkNOMQ4wDAYDVQQKEwVHTVNTTDEQMA4GA1UECxMHUEtJL1NNMjEaMBgGA1UEAxMRTWlkZGxlQ0EgZm9yIFRlc3QCBgGKaA2T3TAMBggqgRzPVQGDEQUAMA0GCSqBHM9VAYItAQUABEYwRAIgEeWxsmL+TZFsDJkNAtOt572P+V53WZoPN9ppDcleOSECIHSuoF0zEUV8EPHS3omE9mvUuVMoO4E6vIWuwGTGurN4";
System.out.println(Util.bytes2HexString(Util.decodeBase64(aa)));
// //数字信封
// RetWrap genSM2 = api.generateDEByDn( SM2dn2, orgData);
+12 -12
View File
@@ -16,17 +16,17 @@ public class Shangqing {
// 测试数据
private String uid = "8012";
private String dn = "C=CN,ST=ZJ,L=HZ,O=sunyard,OU=test1,CN=test1";
private String SM2dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
private String SM2dn = "C=CN,ST=zj,L=hz,O=sunyard,OU=sm2Test,CN=sm2Test";
private String RSA ="C=cn,O=CFCA TEST CA,OU=NCS2,OU=Enterprises,CN=041@Z402451000010@ShanDong@00000001";
private byte[] orgData = new byte[10*1024];
private byte[] orgData = new byte[8];
@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);
api = (SydApi4j) new SydApi4j().connect("172.16.17.196", 8889, null, 1000);
}
@After
@@ -77,19 +77,19 @@ public class Shangqing {
@Test
public void dm(){
// // 生成数字信封
// RetWrap retWrap = api.generateDEByDn(SM2dn, orgData );
// byte[] cipherKey = (byte[]) retWrap.get(SydApi.RET_CIPHER_KEY);
// System.out.println("数字信封: " + new String(cipherKey));
//
// // 解密数字信封
// RetWrap retWrap1 = api.decryptDEByDN(SM2dn, cipherKey);
// byte[] oData = (byte[]) retWrap1.get("oData");
RetWrap retWrap = api.generateDEByDn(SM2dn, orgData );
byte[] cipherKey = (byte[]) retWrap.get(SydApi.RET_CIPHER_KEY);
System.out.println("数字信封: " + new String(cipherKey));
// 解密数字信封
RetWrap retWrap1 = api.decryptDEByDN(SM2dn, cipherKey);
byte[] oData = (byte[]) retWrap1.get("oData");
//
//
// Assert.assertArrayEquals( oData, orgData );
String s = api.GenRandom(8);
System.out.println(s);
// String s = api.GenRandom(8);
// System.out.println(s);
}