修改示例
This commit is contained in:
parent
5df3f6e23b
commit
f90276218c
@ -1,4 +1,4 @@
|
||||
package com.sunyard.sydapi.test;
|
||||
package com.sunyard.sydapi.sample;
|
||||
|
||||
|
||||
import com.sunyard.cert.X509;
|
||||
|
||||
71
src/test/java/com/sunyard/sydapi/test/TestMAC.java
Normal file
71
src/test/java/com/sunyard/sydapi/test/TestMAC.java
Normal file
@ -0,0 +1,71 @@
|
||||
package com.sunyard.sydapi.test;
|
||||
|
||||
import com.sunyard.RetWrap;
|
||||
import com.sunyard.proto.Util;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import racal.sunyard.main.SydApi4j;
|
||||
|
||||
public class TestMAC {
|
||||
private SydApi4j api;
|
||||
|
||||
private final int KeyType = 1;
|
||||
|
||||
private String key = "SK000000000000000000800000000";
|
||||
private String msg = "AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBB";
|
||||
|
||||
@Before
|
||||
public void before() {
|
||||
// 通过设置debug的属性开启debug,如果不设置则默认不打开
|
||||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
api = (SydApi4j) new SydApi4j().connect("192.168.0.200", 8889, null, 1000);
|
||||
}
|
||||
|
||||
@After
|
||||
public void after() {
|
||||
try {
|
||||
this.api.disconnect();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testMAC() {
|
||||
// 分块进行计算
|
||||
final int blockSize = 1024;
|
||||
|
||||
String mac = api.MACCalc(2, KeyType, key, 0, msg.getBytes(), 3);
|
||||
System.out.println( mac );
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSM4MAC() {
|
||||
// 分块进行计算
|
||||
final int blockSize = 1024;
|
||||
|
||||
String data = Util.bytes2HexString( msg.getBytes() );
|
||||
System.out.println( data );
|
||||
|
||||
RetWrap retWrap = api.genMAB(0, KeyType, 2, key, null, data.getBytes() );
|
||||
System.out.println( new String( (byte[]) retWrap.get("MAB") ));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 分块进行计算
|
||||
@Test
|
||||
public void testSM4MAC2() {
|
||||
|
||||
String data = Util.bytes2HexString( msg.getBytes() );
|
||||
System.out.println( data );
|
||||
|
||||
String hash = api.genMAB(2, KeyType, key, data.getBytes() );
|
||||
System.out.println( hash );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.sunyard.sydapi.test;
|
||||
package com.sunyard.sydapi.sample;
|
||||
|
||||
|
||||
import com.sunyard.SydApi;
|
||||
@ -38,6 +38,15 @@ public class TestPKCS1 {
|
||||
System.out.println("签名结果 " + Util.bytes2HexString(sign) );
|
||||
|
||||
|
||||
boolean pass = api.SYD_NakedVerify(testData.getBytes(), sign, testCertNo);
|
||||
System.out.println("验签结果 " + pass);
|
||||
}
|
||||
|
||||
public static void case2(SydApi api) {
|
||||
byte[] sign = api.SYD_NakedSign(testData.getBytes(), testCertNo);
|
||||
System.out.println("签名结果 " + Util.bytes2HexString(sign) );
|
||||
|
||||
|
||||
boolean pass = api.SYD_NakedVerify(testData.getBytes(), sign, testCertNo);
|
||||
System.out.println("验签结果 " + pass);
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.sunyard.sydapi.test;
|
||||
package com.sunyard.sydapi.sample;
|
||||
|
||||
|
||||
import com.sunyard.SydApi;
|
||||
|
||||
104
src/test/java/com/sunyard/sydapi/test/TestSV.java
Normal file
104
src/test/java/com/sunyard/sydapi/test/TestSV.java
Normal file
@ -0,0 +1,104 @@
|
||||
package com.sunyard.sydapi.test;
|
||||
|
||||
|
||||
import com.sunyard.SydApi;
|
||||
import com.sunyard.proto.Util;
|
||||
import racal.sunyard.main.SydApi4j;
|
||||
import racal.sunyard.main.SydApiBuilder;
|
||||
|
||||
import static com.sunyard.SydApi.*;
|
||||
|
||||
|
||||
public class TestSV {
|
||||
|
||||
private static final String inHexData = "67c6697351ff4aec29cdbaabf2fbe346";
|
||||
private static final String dn = "C=CN,ST=浙江,L=杭州,O=信雅达测试123,OU=安全应用1,OU=安全应用2,CN=@信雅达安全测试";
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
// 连接加密机
|
||||
SydApi4j api = (SydApi4j) new SydApi4j().connect("172.16.18.59", 8889, null, 1000);
|
||||
|
||||
SydApiBuilder builder = new SydApiBuilder().setIp("192.168.5.88");
|
||||
builder.build();
|
||||
|
||||
try {
|
||||
|
||||
// case1(api);
|
||||
case4(api);
|
||||
case5(api);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
api.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
public static void case1(SydApi api) {
|
||||
String sign = api.attachedSign( Util.hexString2Bytes( inHexData ), dn );
|
||||
System.out.println("签名结果 " + sign );
|
||||
|
||||
|
||||
boolean pass = api.attachedVerify(sign);
|
||||
System.out.println("验签结果 " + pass);
|
||||
}
|
||||
|
||||
|
||||
public static void case2(SydApi api) {
|
||||
System.out.println("begin SYD_Sign_Detach");
|
||||
String sign = api.detachedSign( DATA_ORIGIN, Util.hexString2Bytes( inHexData ), dn );
|
||||
System.out.println("签名结果 " + sign );
|
||||
System.out.println("begin SYD_Sign_Detach");
|
||||
|
||||
System.out.println("begin SYD_Verify_Detach");
|
||||
boolean pass = api.detachedVerify(DATA_ORIGIN, Util.hexString2Bytes( inHexData ), sign);
|
||||
System.out.println("验签结果 " + pass);
|
||||
System.out.println("end SYD_Verify_Detach");
|
||||
}
|
||||
|
||||
|
||||
public static void case3(SydApi api) {
|
||||
System.out.println("begin SYD_NakedSign");
|
||||
byte[] sign = api.SYD_NakedSign( Util.hexString2Bytes(inHexData) , dn);
|
||||
System.out.println("签名结果 " + Util.bytes2HexString(sign) );
|
||||
System.out.println("end SYD_NakedSign");
|
||||
|
||||
System.out.println("begin SYD_NakedVerify");
|
||||
boolean pass = api.SYD_NakedVerify( Util.hexString2Bytes(inHexData), sign, dn);
|
||||
System.out.println("验签结果 " + pass);
|
||||
System.out.println("end SYD_NakedVerify");
|
||||
}
|
||||
|
||||
|
||||
public static void case4(SydApi api) {
|
||||
// 不传 ID
|
||||
String pk = api.SM2GetPublicKeyC("65667", 0 );
|
||||
String sk = api.SM2GetPrivateKeyC("000000000006566700000000001");
|
||||
|
||||
String sign = api.SM2SignC( 0, sk, Util.hexString2Bytes(pk), Util.hexString2Bytes(inHexData) );
|
||||
System.out.println("签名结果 " + sign );
|
||||
|
||||
boolean pass = api.SM2Verify(Util.hexString2Bytes(pk), Util.hexString2Bytes(inHexData), sign );
|
||||
System.out.println("验签结果 " + pass);
|
||||
}
|
||||
|
||||
|
||||
public static void case5(SydApi api) {
|
||||
// 传 ID
|
||||
String uid = "8765432187654321";
|
||||
String pk = api.SM2GetPublicKeyC("65667", 0 );
|
||||
String sk = api.SM2GetPrivateKeyC("000000000006566700000000001");
|
||||
|
||||
System.out.println("begin SYD_Sign_P1");
|
||||
String sign = api.SM2SignC( 0, uid, sk, Util.hexString2Bytes(pk), Util.hexString2Bytes(inHexData) );
|
||||
System.out.println("签名结果 " + Util.bytes2HexString( Util.decodeBase64( sign ) ) );
|
||||
System.out.println("end SYD_Verify_P1");
|
||||
|
||||
System.out.println("begin SYD_Sign_P1");
|
||||
boolean pass = api.SM2Verify(uid, 1, Util.hexString2Bytes(pk), Util.hexString2Bytes(inHexData), sign );
|
||||
System.out.println("验签结果 " + pass);
|
||||
System.out.println("end SYD_Verify_P1");
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user