添加测试方法,修改打印方法,修改指令为73的方法。
This commit is contained in:
parent
db746655f4
commit
c181ffd067
@ -7,6 +7,9 @@
|
||||
</command>
|
||||
<data extend="data">
|
||||
|
||||
<privateKeyLength len="4" :value="privateKeyLen()" cn="私钥长度">
|
||||
当私钥标记为全 9 时使用该区域的值
|
||||
</privateKeyLength>
|
||||
|
||||
<privateKeyTag len="27" cn="指示私钥位置的标记" :if="useLocalKey()" >
|
||||
数字为存储私钥的索引,除了
|
||||
@ -15,10 +18,6 @@
|
||||
索引号。
|
||||
</privateKeyTag>
|
||||
|
||||
<privateKeyLength len="4" :value="privateKeyLen()" cn="私钥长度">
|
||||
当私钥标记为全 9 时使用该区域的值
|
||||
</privateKeyLength>
|
||||
|
||||
<privateKey cn="私钥" >
|
||||
当私钥标记为全 9 时使用该区域的值
|
||||
</privateKey>
|
||||
|
||||
@ -867,6 +867,15 @@ public class TestAllMethods {
|
||||
System.out.println(s);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 7E
|
||||
@Test
|
||||
public void testSYD_SM2_Get_Dn_PublicKey_HA() {
|
||||
String dn = "C=CN,O=Sunyard,OU=8001,CN=8001";
|
||||
String s = api.SYD_SM2_Get_Dn_PublicKey_HA(dn.getBytes(), 0);
|
||||
System.out.println(s);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 80
|
||||
@Test
|
||||
@ -900,7 +909,7 @@ public class TestAllMethods {
|
||||
// E2
|
||||
@Test
|
||||
public void testSM2OrRSAGenKeyPair() {
|
||||
String index = "1111111111111122";
|
||||
String index = "1111111111111123";
|
||||
|
||||
// SM2
|
||||
RetWrap retWrap = api.SM2OrRSAGenKeyPair(1, index, 0);
|
||||
@ -928,12 +937,22 @@ public class TestAllMethods {
|
||||
printRetWrap(retWrap);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 73
|
||||
@Test
|
||||
public void testSM2ConfirmSessionKeyC() {
|
||||
|
||||
// RetWrap retWrap = api.SM2ConfirmSessionKeyC();
|
||||
// printRetWrap(retWrap);
|
||||
String userId = "1111111111111123";
|
||||
|
||||
String pk="03420004AAFCB1EACA86272281A20FE1957EEB543AB97571048D5B6350C4227980D0F109A7D5797EC97D6D874D003C4AE7C5FBFFD755413264D85DA5B0AC61B6C661CA32";
|
||||
|
||||
RetWrap retWrap = api.SM2GenSessionKey(pk);
|
||||
printRetWrap(retWrap);
|
||||
|
||||
String cipherKey = (String) retWrap.get("CipherKey");
|
||||
|
||||
RetWrap retWrap1 = api.SM2ConfirmSessionKeyC(userId, cipherKey);
|
||||
printRetWrap(retWrap1);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
@ -941,10 +960,15 @@ public class TestAllMethods {
|
||||
@Test
|
||||
public void testSM2ConfirmSessionKey() {
|
||||
|
||||
String sk = "00 01 00 00 6F D3 0C 96 79 22 C2 53 9B 47 3B 51 65 D7 9C 49 71 7A 5A 54 AA 24 9A 4F 8B AC DF 30 0B 31 59 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ";
|
||||
String cipherKey = "30 78 02 20 61 2F 7E C1 4F 59 DB 2A C2 A9 FB 2E 13 61 69 3C 88 B3 6D 14 99 5B E8 B8 B7 53 5F 03 90 BB D2 DC 02 20 34 69 BA 09 93 08 0F 13 1F A1 EB 2C 2A 20 C5 48 18 32 A6 7E B6 07 E5 39 84 6B 9D 70 E9 1B 5D 5D 04 20 C5 EE D4 44 10 60 62 ED 77 74 C2 4D C1 71 12 2A 64 FF CA 48 CC 6E 44 EC BC 75 D2 31 DE 7E D0 D7 04 10 41 48 E5 D7 54 65 AE 2E 35 F5 07 84 06 4B 70 D6 ";
|
||||
RetWrap retWrap = api.SM2ConfirmSessionKey(changeStr(sk), changeStr(cipherKey));
|
||||
String pk="03420004AAFCB1EACA86272281A20FE1957EEB543AB97571048D5B6350C4227980D0F109A7D5797EC97D6D874D003C4AE7C5FBFFD755413264D85DA5B0AC61B6C661CA32";
|
||||
String sk="00010000A910C2C44646A5A43338F0F505A06AA91442BFD245082C7774F6C75247F2196F0000000000000000000000000000000000000000000000000000000000000000";
|
||||
RetWrap retWrap = api.SM2GenSessionKey(pk);
|
||||
printRetWrap(retWrap);
|
||||
|
||||
String cipherKey = (String) retWrap.get("CipherKey");
|
||||
|
||||
RetWrap retWrap1 = api.SM2ConfirmSessionKey(sk, cipherKey);
|
||||
printRetWrap(retWrap1);
|
||||
}
|
||||
|
||||
// 74
|
||||
@ -972,6 +996,29 @@ public class TestAllMethods {
|
||||
printRetWrap(retWrap, true);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 76
|
||||
@Test
|
||||
public void testSM3Hash2() {
|
||||
String publicKey = "0342000469DE3847DD6A66DA96DB8F2DCFA32E10E680FF2EF4A592079E7C3A44320BB15084E7CA9782A39B6E28F07C04FE00D68958A2605921E71712D56C1E4435A39FA5";
|
||||
String orgData = "FFFFFFFFFFFFFFFF";
|
||||
|
||||
byte[] hash = api.SM3Hash(publicKey, orgData.getBytes());
|
||||
|
||||
System.out.println("hash:" + Util.bytes2HexString(hash));
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 76
|
||||
@Test
|
||||
public void testSM3Hash3() {
|
||||
String orgData = "FFFFFFFFFFFFFFFF";
|
||||
|
||||
byte[] hash = api.SM3Hash(orgData.getBytes());
|
||||
|
||||
System.out.println("hash:" + Util.bytes2HexString(hash));
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 71
|
||||
@Test
|
||||
@ -1112,6 +1159,16 @@ public class TestAllMethods {
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 6A
|
||||
@Test
|
||||
public void testGenerateDE() {
|
||||
String dn = "1004282452";
|
||||
|
||||
RetWrap retWrap = api.generateDE(dn, (byte) 0x30);
|
||||
printRetWrap(retWrap);
|
||||
}
|
||||
|
||||
// 001B3030303030303030
|
||||
// 3641
|
||||
// 30
|
||||
@ -1160,6 +1217,20 @@ public class TestAllMethods {
|
||||
printRetWrap(retWrap1);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 6B
|
||||
@Test
|
||||
public void testDecryptDE2() {
|
||||
String sn = "1004282452";
|
||||
RetWrap retWrap = api.generateDE(sn, (byte) 0x30);
|
||||
String sessionKey = (String) retWrap.get("SessionKey");
|
||||
String CipherKey = (String) retWrap.get("CipherKey");
|
||||
String KCV = (String) retWrap.get("KCV");
|
||||
|
||||
RetWrap retWrap1 = api.decryptDE(sn, CipherKey);
|
||||
printRetWrap(retWrap1);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 6C
|
||||
@Test
|
||||
@ -1403,17 +1474,25 @@ public class TestAllMethods {
|
||||
System.out.println(b);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 77
|
||||
@Test
|
||||
public void testSM2Encrypt() {
|
||||
api.SM2Encrypt(Util.hexString2Bytes(publicKey), orgData.getBytes());
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 78
|
||||
@Test
|
||||
public void testSM2DecryptC() {
|
||||
String enData = "307802206F1A39E3FE630E5F34C38A8B1AA1896D49DF9852A8D36F8A895900204D0BED6802200C7FF860A3FA429928C0320E05CC32602D7003477D66BCF58D54DAB202C8966104205E91FAA2671172D919346A154A9DBAE8048F2F0C20CA56C0A7ADA16A3076D2F904102A176D2250E36B7209BA78746A484622";
|
||||
api.SM2DecryptC(certId, enData);
|
||||
String certId = "1111111111111122";
|
||||
String publicKey = "0342000469DE3847DD6A66DA96DB8F2DCFA32E10E680FF2EF4A592079E7C3A44320BB15084E7CA9782A39B6E28F07C04FE00D68958A2605921E71712D56C1E4435A39FA5";
|
||||
String orgData = "FFFFFFFFFFFFFFFF";
|
||||
String s = api.SM2Encrypt(Util.hexString2Bytes(publicKey), orgData.getBytes());
|
||||
|
||||
byte[] bytes = api.SM2DecryptC(certId, s);
|
||||
|
||||
System.out.println("decData:" + new String(bytes));
|
||||
}
|
||||
|
||||
// QQ
|
||||
@ -1422,7 +1501,7 @@ public class TestAllMethods {
|
||||
String s = api.SM2GetPublicKeyC("0000000011111111", 0);
|
||||
}
|
||||
|
||||
|
||||
// 测试通过
|
||||
// E0
|
||||
@Test
|
||||
public void testSYMEncryptData() {
|
||||
@ -1443,25 +1522,17 @@ public class TestAllMethods {
|
||||
System.out.println(Util.bytes2HexString(bytes));
|
||||
}
|
||||
|
||||
// 015C0000000000000001
|
||||
// 8004
|
||||
// 31
|
||||
// 433D434E2C4F3D53756E796172642C4F553D383030312C434E3D3830303100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
// 0004
|
||||
// 32323232
|
||||
// 0047
|
||||
// 30450220686C96208702D3DB5D71FEFFDFA211DBF19F3576196D78E97E238A2D4AA1ECDF022100D19DE3120085A6EB524F4BBB69BD3C21CC5BE3008968446CBEA7EFDD3E0A147A
|
||||
// 0000
|
||||
|
||||
// 测试通过
|
||||
// 8004
|
||||
@Test
|
||||
public void testSYD_NakedVerify() {
|
||||
String dn = "C=CN,O=Sunyard,OU=8001,CN=8001";
|
||||
byte[] bytes = api.SYD_NakedSign("111".getBytes(), dn);
|
||||
String orgData = "111";
|
||||
byte[] bytes = api.SYD_NakedSign(orgData.getBytes(), dn);
|
||||
String sign = Util.bytes2HexString(bytes);
|
||||
System.out.println(sign);
|
||||
|
||||
boolean b = api.SYD_NakedVerify("2222".getBytes(), bytes, dn);
|
||||
boolean b = api.SYD_NakedVerify(orgData.getBytes(), bytes, dn);
|
||||
System.out.println(b);
|
||||
}
|
||||
|
||||
@ -1480,9 +1551,13 @@ public class TestAllMethods {
|
||||
// 8006
|
||||
@Test
|
||||
public void testSYD_DetachedVerify() {
|
||||
String orgData = "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101";
|
||||
String sign = "MIICnwYKKoEcz1UGAQQCAqCCAo8wggKLAgEBMQwwCgYIKoEcz1UBgxEwDAYKKoEcz1UGAQQCAaCCAckwggHFMIIBaKADAgECAgg8kwAAAAAAJTAMBggqgRzPVQGDdQUAMCYxCzAJBgNVBAYTAkNOMRcwFQYDVQQDDA5TdW55YXJkU00yUm9vdDAeFw0xNzA1MTcwMjUyNDRaFw0yMjA3MjUwMjUyNDRaMD0xCzAJBgNVBAYTAkNOMRAwDgYDVQQKDAdTdW55YXJkMQ0wCwYDVQQLDAQ4MDAxMQ0wCwYDVQQDDAQ4MDAxMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEPto6EHt8w1zABcf78LtOa0OgfuFONgYD0i7KKmALLQ+gMFXUANEkAwD1Rki4SdE/ULMw/xQ1G1ZFsTaGggplu6NnMGUwDgYDVR0PAQH/BAQDAgDAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFPd/2q7/IcbZOnqtoPus/gKlTtXBMB0GA1UdDgQWBBQDFmWmNgMGkEzYhS6bGtHcgswWejAMBggqgRzPVQGDdQUAA0kAMEYCIQCJdmRxn5Z+YXnXKLrAEc2dsnlI1G8UhTJoTJq+bekOpwIhAL6mF/yqSHL5z8gf2IopfqKugxXVTOj97w8QYVP/LWlxMYGcMIGZAgEBMDIwJjELMAkGA1UEBhMCQ04xFzAVBgNVBAMMDlN1bnlhcmRTTTJSb290Agg8kwAAAAAAJTAKBggqgRzPVQGDETALBgkqgRzPVQGCLQEERzBFAiAb/hUmQ7yvOtGqL1mkE1zU3H0LblyTHunPicdwK8DGKgIhANU6nux7gkB/pOBtLscJFruQ8JgPQamL6Qi1NhlvGxlz";
|
||||
api.SYD_DetachedVerify(Util.hexString2Bytes(orgData), sign);
|
||||
String orgData = "3214312341243214";
|
||||
String DN = "C=CN,O=Sunyard,OU=8001,CN=8001";
|
||||
String sign = api.SYD_DetachedSign(orgData.getBytes(), DN);
|
||||
System.out.println("签名结果" + sign);
|
||||
|
||||
boolean b = api.SYD_DetachedVerify(orgData.getBytes(), sign);
|
||||
System.out.println("验签结果:" + b);
|
||||
}
|
||||
|
||||
// 8012
|
||||
@ -1521,10 +1596,46 @@ public class TestAllMethods {
|
||||
System.out.println(s);
|
||||
}
|
||||
|
||||
// 8024
|
||||
// 测试通过
|
||||
// 8005
|
||||
@Test
|
||||
public void testDetachedSign() {
|
||||
api.detachedSign(1, "111".getBytes(), 3);
|
||||
String publicKey = "0342000469DE3847DD6A66DA96DB8F2DCFA32E10E680FF2EF4A592079E7C3A44320BB15084E7CA9782A39B6E28F07C04FE00D68958A2605921E71712D56C1E4435A39FA5";
|
||||
String orgData = "FFFFFFFFFFFFFFFF";
|
||||
String testCertNo = "C=CN,O=Sunyard,OU=8001,CN=8001";
|
||||
|
||||
byte[] hash = api.SM3Hash(publicKey, orgData.getBytes());
|
||||
|
||||
String sign = api.detachedSign(
|
||||
SydApi.DATA_HASH,
|
||||
hash,
|
||||
testCertNo
|
||||
);
|
||||
|
||||
System.out.println("\t签名结果: " + sign);
|
||||
|
||||
boolean verify = api.detachedVerify(
|
||||
SydApi.DATA_HASH,
|
||||
hash,
|
||||
sign
|
||||
);
|
||||
|
||||
System.out.println("\t验签结果: " + verify);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// 8005
|
||||
@Test
|
||||
public void testSm3AndDetachedSign() {
|
||||
String publicKey = "0342000469DE3847DD6A66DA96DB8F2DCFA32E10E680FF2EF4A592079E7C3A44320BB15084E7CA9782A39B6E28F07C04FE00D68958A2605921E71712D56C1E4435A39FA5";
|
||||
String orgData = "FFFFFFFFFFFFFFFF";
|
||||
String testCertNo = "C=CN,O=Sunyard,OU=8001,CN=8001";
|
||||
|
||||
String sign = api.sm3AndDetachedSign(orgData.getBytes(), publicKey, testCertNo);
|
||||
System.out.println("签名结果: " + sign);
|
||||
|
||||
boolean b = api.sm3AndDetachedVerify(orgData.getBytes(), publicKey, sign);
|
||||
System.out.println("验签结果:" + b);
|
||||
}
|
||||
|
||||
// 8026
|
||||
@ -1813,3 +1924,4 @@ public class TestAllMethods {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ public class PrintUtil {
|
||||
if (flag) {
|
||||
System.out.println(s + ": " + Util.bytes2HexString((byte[]) o));
|
||||
} else {
|
||||
System.out.println(s + ": " + new String(Util.hexString2Bytes(Util.bytes2HexString((byte[]) o))));
|
||||
System.out.println(s + ": " + new String((byte[]) o));
|
||||
}
|
||||
} else {
|
||||
System.out.println(s + ":" + o);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user