fix:主备切换测试

This commit is contained in:
waner
2025-05-30 16:21:39 +08:00
parent 085d71feb9
commit fbcbe79388
11 changed files with 543 additions and 157 deletions
+69 -15
View File
@@ -1,21 +1,20 @@
package sample;
import cn.hutool.core.date.StopWatch;
import cn.hutool.core.date.Week;
import com.google.gson.Gson;
import com.sunyard.SydApiException;
import com.sunyard.proto.Util;
import com.sunyard.snmp.SnmpTrapSender;
import com.sunyard.util.IpLockUtils;
import org.bouncycastle.util.encoders.Hex;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import racal.sunyard.main.SydApi4j;
import java.io.IOException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.sunyard.util.CertUtil.convertToX509Cert;
@@ -30,8 +29,10 @@ public class Test4NongxinCW {
@Before
public void before() {
//主备调用接口
// SydApi4j.SYD_Set_Parameter_HA("", "", 8889, 1000);
// api = new SydApi4j();
SydApi4j.SYD_Set_Parameter_HA("172.1.41.139", "172.1.41.96", 8889, 1000);
api = (SydApi4j) new SydApi4j();
api.startHeartbeat();
// 通过设置debug的属性开启debug,如果不设置则默认不打开
api = (SydApi4j) new SydApi4j().connect("172.1.41.139", 8891, null, 1000);
@@ -53,19 +54,35 @@ public class Test4NongxinCW {
@Test
public void nakeSign(){
orgData = "12345678".getBytes();
// String SM2dn1 = "C=CN,ST=3,L=3,O=3,OU=3,OU=3,CN=3";
// orgData = Hex.decode("80a370b809e8a46ba51211a35d6f0180fea32b4acc97916bc9c517ea6651134c");
// byte[] nakedSign1 = api.SYD_NakedSign(SM2dn, (byte[])null, orgData);
// System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign1));
orgData = new byte[1024];
//裸签
byte[] nakedSign = api.SYD_NakedSign(orgData,SM2dn);
System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign));
//裸签验签
boolean ver = api.SYD_NakedVerify(orgData,nakedSign, SM2dn);
System.out.println("SM2验签:"+ ver);
}
@Test
public void rsaSign() {
String RSAdn = "C=CN,ST=3,L=3,O=3,OU=3,OU=3,CN=3";
byte[] nakedSign = api.SYD_NakedSign(1, RSAdn,orgData,(byte[])null);
System.out.println("RSA签名:"+ Util.bytes2HexString(nakedSign));
//裸签验签
boolean ver = api.SYD_NakedVerify(1, RSAdn,nakedSign,orgData ,(byte[])null);
System.out.println("RSA验签:"+ ver);
}
@Test
public void detSign(){
orgData = "12345678".getBytes();
orgData = new byte[4096];
//detach签名
String detachedSign = api.detachedSign(orgData, SM2dn);
System.out.println("detach签名:"+ detachedSign);
@@ -188,6 +205,26 @@ public class Test4NongxinCW {
String s = api.SYMEncrytByKeyIndex(index, data);
System.out.println(s);
}
@Test
public void testMutiImport() throws InterruptedException {
List<Thread> threads = new ArrayList<>();
// 创建100个线程
for (int i = 0; i < 200; i++) {
Thread thread = new Thread(this::importAllCert);
thread.start();
threads.add(thread);
}
// 等待所有线程完成
for (Thread thread : threads) {
thread.join();
}
System.out.println(IpLockUtils.getLockStatus("172.1.41.96:8889"));
System.out.println("所有线程执行完毕");
}
@Test
public void importAllCert() {
@@ -231,9 +268,9 @@ public class Test4NongxinCW {
// masterNodes.add("172.16.18.99:8889");
// masterNodes.add("172.16.18.5:8889");
masterNodes.add("172.1.41.139:8889");
// masterNodes.add("172.16.18.7:8889");
masterNodes.add("172.1.41.96:8889");
// masterNodes.add("172.16.18.8:8889");
int timeout = 100;
int timeout = 1;
Map<String, String> map = new HashMap<>();
map.put("snmp.target.ip", "172.1.41.191");
map.put("snmp.target.port", "162");
@@ -249,14 +286,31 @@ public class Test4NongxinCW {
@Test
public void delCert() {
boolean del = api.deleteCert(SM2dn);
String SM2dn1 = "C=CN,ST=北京,L=北京,O=信雅达,OU=测试部门1,CN=172.1.41.139";
boolean del = api.deleteCert(SM2dn1);
System.out.println("删除:"+ del);
}
@Test
public void selectCert(){
String sign = null;
public void selectCert() throws Exception {
// String SM2dn1 = "C=CN,ST=1,L=1,O=1,OU=1,OU=1,CN=1";
// String s = api.getCertByDn(SM2dn);
// System.out.println(s);
String message = "sdas发顺丰";
byte[] gbkBytes = message.getBytes("GBK");
System.out.println("GBK Encoded Bytes: " + Arrays.toString(gbkBytes));
// Decoding back to String
String decodedMessage = new String(gbkBytes, "GBK");
System.out.println("Decoded Message: " + decodedMessage);
}
@Test
public void selCert() {
String sign = "3045022100F2C494D20823AB12D9D4D23FA12C7D856D4993BE122089D86A515F217CF51C0C02207E06F505F4E70893226F7B22B34E6578570E2813CB0CF1A6775A7782C7C45F7B";
String s = api.getCertBySign(sign);
System.out.println(s);
}