jmeter测试完善
This commit is contained in:
parent
9fbcd1baad
commit
b4d3c1d193
@ -246,7 +246,6 @@ public class Test4Jemter extends AbstractJavaSamplerClient {
|
||||
|
||||
public void testAhnx() {
|
||||
|
||||
orgData = new byte[1024];
|
||||
//裸签
|
||||
byte[] nakedSign = api.get().SYD_NakedSign(orgData,SM2dn);
|
||||
|
||||
|
||||
@ -4178,10 +4178,12 @@ public class SydApi4j implements SydApi {
|
||||
bb.put((byte) 0x31);
|
||||
}
|
||||
|
||||
synchronized (this) {
|
||||
// 响应解析
|
||||
bb = syncRead(syncSend(bb));
|
||||
}
|
||||
// synchronized (this) {
|
||||
// // 响应解析
|
||||
// bb = syncRead(syncSend(bb));
|
||||
// }
|
||||
|
||||
bb = sendAndGetResponse(bb);
|
||||
|
||||
byte[] success = new byte[2];
|
||||
Arrays.fill(success, (byte) 0);
|
||||
|
||||
@ -4,6 +4,7 @@ import cn.hutool.core.date.StopWatch;
|
||||
import com.google.gson.Gson;
|
||||
import com.sunyard.SydApiException;
|
||||
import com.sunyard.proto.Util;
|
||||
import com.sunyard.util.CertUtil;
|
||||
import com.sunyard.util.IpLockUtils;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
@ -27,7 +28,7 @@ public class Test4NongxinCW {
|
||||
@Before
|
||||
public void before() {
|
||||
//主备调用接口
|
||||
SydApi4j.SYD_Set_Parameter_HA("172.1.41.96", "172.1.41.139", 8889, 1000);
|
||||
SydApi4j.SYD_Set_Parameter_HA("172.1.41.139", "172.1.41.96", 8889, 1000);
|
||||
api = (SydApi4j) new SydApi4j();
|
||||
// api.startHeartbeat();
|
||||
|
||||
@ -54,8 +55,10 @@ public class Test4NongxinCW {
|
||||
public void testHA() {
|
||||
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
byte[] nakedSign = api.SYD_NakedSign(orgData,SM2dn);
|
||||
// byte[] nakedSign = api.SYD_NakedSign(orgData,SM2dn);
|
||||
// System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign));
|
||||
byte[] nakedSign1 = api.SYD_NakedSignAll(4,orgData, SM2dn);
|
||||
System.out.println("SM2大数据裸签:"+ Util.bytes2HexString(nakedSign1));
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,7 +74,7 @@ public class Test4NongxinCW {
|
||||
// 模拟主节点故障
|
||||
CountDownLatch startLatch = new CountDownLatch(1);
|
||||
|
||||
for (int i = 0; i < 20; i++) {
|
||||
for (int i = 0; i < 200; i++) {
|
||||
futures.add(executor.submit(() -> {
|
||||
try {
|
||||
startLatch.await(); // 等待统一开始
|
||||
@ -81,8 +84,9 @@ public class Test4NongxinCW {
|
||||
|
||||
SydApi4j api2 = new SydApi4j();
|
||||
|
||||
for (int j = 0; j < 10000; j++) {
|
||||
for (int j = 0; j < 1000; j++) {
|
||||
byte[] nakedSign = api2.SYD_NakedSign(orgData,SM2dn);
|
||||
System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign));
|
||||
}
|
||||
}));
|
||||
}
|
||||
@ -108,7 +112,8 @@ public class Test4NongxinCW {
|
||||
// orgData = Hex.decode("80a370b809e8a46ba51211a35d6f0180fea32b4acc97916bc9c517ea6651134c");
|
||||
// byte[] nakedSign1 = api.SYD_NakedSign(SM2dn, (byte[])null, orgData);
|
||||
// System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign1));
|
||||
orgData = new byte[4096];
|
||||
orgData = new byte[1024];
|
||||
|
||||
//裸签
|
||||
byte[] nakedSign = api.SYD_NakedSign(orgData,SM2dn);
|
||||
System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign));
|
||||
@ -347,9 +352,25 @@ public class Test4NongxinCW {
|
||||
|
||||
@Test
|
||||
public void delCert() {
|
||||
String SM2dn1 = "C=CN,ST=北京,L=北京,O=信雅达,OU=测试部门1,CN=172.1.41.139";
|
||||
boolean del = api.deleteCert(SM2dn1);
|
||||
System.out.println("删除:"+ del);
|
||||
// String SM2dn1 = "C=CN,ST=北京,L=北京,O=信雅达,OU=测试部门1,CN=172.1.41.139";
|
||||
// boolean del = api.deleteCert(SM2dn1);
|
||||
// System.out.println("删除:"+ del);
|
||||
SydApi4j api = (SydApi4j) new SydApi4j();
|
||||
String sign = "MIID6wYKKoEcz1UGAQQCAqCCA9swggPXAgEBMQ4wDAYIKoEcz1UBgxEFADAMBgoqgRzPVQYBBAIBoIIC2zCCAtcwggJ7oAMCAQICBSBpB5UzMAwGCCqBHM9VAYN1BQAwXTELMAkGA1UEBhMCQ04xMDAuBgNVBAoMJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEcMBoGA1UEAwwTQ0ZDQSBURVNUIFNNMiBPQ0ExMTAeFw0yNTAzMTcwODQwNTNaFw0yNzEyMTIwODQwNTNaMIGMMQswCQYDVQQGEwJjbjEfMB0GA1UECgwWQ0ZDQSBDUyBURVNUIFNNMiBPQ0ExMTEOMAwGA1UECwwFQ05BUFMxGTAXBgNVBAsMEE9yZ2FuaXphdGlvbmFsLTExMTAvBgNVBAMMKDA1MUA3OTA3NTgxMDAwMDcwQEM5MDc1ODEwMDAwNzBAMDAwMDAwMDEwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAAR4vx8WcwLXu0gUn+ijMeL7Z8lbN+gRoQa4ZvIQ8fXo9Z/LIJWY92FFz7R2l/YZG/gd/olzZvTAmUehpVkksD54o4H1MIHyMB8GA1UdIwQYMBaAFL6mfk09fI+gVebBLwkuLCBDs0J/MEgGA1UdIARBMD8wPQYIYIEchu8qAQIwMTAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5jZmNhLmNvbS5jbi91cy91cy0xNS5odG0wOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovLzIxMC43NC40Mi4zL09DQTExL1NNMi9jcmwyOTMyOS5jcmwwCwYDVR0PBAQDAgPoMB0GA1UdDgQWBBRYhSR9g0x5JcfgN26TZ7hH6DimDDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwDAYIKoEcz1UBg3UFAANIADBFAiEA/ieBxlXaFMFylrmji2p/hqa3bsOu6y94x+a6gSoCxKMCIBwKAC/7+hFHb7Y8woimj1o12A2ROGtnxuz4F4Szu1PLMYHUMIHRAgEBMGYwXTELMAkGA1UEBhMCQ04xMDAuBgNVBAoMJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEcMBoGA1UEAwwTQ0ZDQSBURVNUIFNNMiBPQ0ExMQIFIGkHlTMwDAYIKoEcz1UBgxEFADANBgkqgRzPVQGCLQEFAARHMEUCIHpjkQo8s0JLhxccdx2LLutiJ331n91IHp392fPP7olFAiEA1SpAv3LW/0awyxmNSdbrF7/29Aw2096Sp92AxmkWPa8=";
|
||||
String cert = api.getCertBySign(sign);
|
||||
System.out.println(cert);
|
||||
X509Certificate certificate = null;
|
||||
String dn = "";
|
||||
String serialNumber = "";
|
||||
try {
|
||||
certificate = CertUtil.convertToX509Cert(cert);
|
||||
dn = certificate.getSubjectDN().toString();
|
||||
serialNumber = certificate.getSerialNumber().toString();
|
||||
} catch (Exception e) {
|
||||
// log.warn("导入证书格式错误!");
|
||||
}
|
||||
System.out.println("DN:" + dn);
|
||||
System.out.println("SN:" + serialNumber);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -374,6 +395,77 @@ public class Test4NongxinCW {
|
||||
System.out.println(s);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAll() {
|
||||
//国密证书
|
||||
String cert = "-----BEGIN CERTIFICATE-----\n" +
|
||||
"MIICMDCCAdagAwIBAgIJAOWoGwJCnjlLMAoGCCqBHM9VAYN1MGcxCzAJBgNVBAYT\n" +
|
||||
"AkNOMRAwDgYDVQQIDAdCZWlqaW5nMRAwDgYDVQQHDAdIYWlEaWFuMRMwEQYDVQQK\n" +
|
||||
"DApHTUNlcnQub3JnMR8wHQYDVQQDDBZHTUNlcnQgR00gUm9vdCBDQSAtIDAxMB4X\n" +
|
||||
"DTI1MDUxMzAyMzUxM1oXDTI2MDUxMzAyMzUxM1owRTELMAkGA1UEBgwCQ04xCzAJ\n" +
|
||||
"BgNVBAgMAnp6MQswCQYDVQQHDAJ6ejEMMAoGA1UECgwDenp6MQ4wDAYDVQQDDAV6\n" +
|
||||
"enp6ejBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABK5fyRSACWPIBBr/3U+qvjvp\n" +
|
||||
"niropv2PrA3ZLU1bG8vQpwAEMA0kwyqGgXURBPbvWdAhN7s9wfvHbJyMd9CMZGqj\n" +
|
||||
"gYwwgYkwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCB4AwLAYJYIZIAYb4QgENBB8W\n" +
|
||||
"HUdNQ2VydC5vcmcgU2lnbmVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBSQB7UUqEuG\n" +
|
||||
"kl4mrx3MAhKTptfbYjAfBgNVHSMEGDAWgBR/Wl47AIRZKg+YvqEObzmVQxBNBzAK\n" +
|
||||
"BggqgRzPVQGDdQNIADBFAiEA4kgTdn/iA/XYfjTEeOcELwBXd0tTFghkpfP8DhBF\n" +
|
||||
"KFQCIAXZTL6VPtW67tM/DF4ZgFt5S/YIiFombKa2bWOfL81u\n" +
|
||||
"-----END CERTIFICATE-----";
|
||||
List<String> masterNodes = new ArrayList<>();
|
||||
masterNodes.add("172.1.1.1:8889");
|
||||
int timeout = 100;
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("snmp.target.ip", "172.1.1.191");
|
||||
map.put("snmp.target.port", "162");
|
||||
map.put("enterprise.oid", "1.3.6.1.4.1.9999");
|
||||
map.put("snmp.community", "public");
|
||||
map.put("snmp.version", "1");
|
||||
String snmpConfig = new Gson().toJson(map);
|
||||
|
||||
|
||||
//导入证书并获取DN
|
||||
SydApi4j sydApi4j = new SydApi4j();
|
||||
String SM2dn = sydApi4j.importCertToServers(masterNodes, timeout, cert, "12345678", snmpConfig);
|
||||
System.out.println("------------------------------------------------------------------------------------");
|
||||
System.out.println("导入证书主题为:"+ SM2dn);
|
||||
|
||||
//主备模式设置
|
||||
SydApi4j.SYD_Set_Parameter_HA("172.1.41.96", "172.1.1.2", 8889, 1000);
|
||||
SydApi4j api = (SydApi4j) new SydApi4j();
|
||||
|
||||
//签名原始数据
|
||||
byte[] orgData = new byte[1024];
|
||||
//p1裸签名(国密证书)
|
||||
byte[] nakedSign = api.SYD_NakedSign(orgData, SM2dn);
|
||||
System.out.println("------------------------------------------------------------------------------------");
|
||||
System.out.println("p1签名:"+ Util.bytes2HexString(nakedSign));
|
||||
//p1裸签验签(国密证书)
|
||||
boolean ver = api.SYD_NakedVerify(orgData, nakedSign, SM2dn);
|
||||
System.out.println("------------------------------------------------------------------------------------");
|
||||
System.out.println("p1验签:"+ ver);
|
||||
|
||||
//p7 detach签名(带公钥证书)
|
||||
String detachedSign = api.detachedSign(orgData, SM2dn);
|
||||
System.out.println("------------------------------------------------------------------------------------");
|
||||
System.out.println("p7 detach签名:"+ detachedSign);
|
||||
|
||||
//p7 detach验签(带公钥证书)
|
||||
boolean ver1 = api.detachedVerify(orgData, detachedSign);
|
||||
System.out.println("------------------------------------------------------------------------------------");
|
||||
System.out.println("p7 detach验签:"+ ver1);
|
||||
|
||||
//从p7签名数据中获取证书,签名数据为base64编码格式
|
||||
String cert1 = api.getCertBySign(detachedSign);
|
||||
System.out.println("------------------------------------------------------------------------------------");
|
||||
System.out.println("根据p7签名值获取的证书为:" + cert1);
|
||||
|
||||
//根据证书DN从加密码机删除证书
|
||||
// boolean delFlag = api.deleteCert(SM2dn);
|
||||
// System.out.println("------------------------------------------------------------------------------------");
|
||||
// System.out.println("删除证书成功:"+ delFlag);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user