jmeter测试完善
This commit is contained in:
parent
9fbcd1baad
commit
b4d3c1d193
@ -246,7 +246,6 @@ public class Test4Jemter extends AbstractJavaSamplerClient {
|
|||||||
|
|
||||||
public void testAhnx() {
|
public void testAhnx() {
|
||||||
|
|
||||||
orgData = new byte[1024];
|
|
||||||
//裸签
|
//裸签
|
||||||
byte[] nakedSign = api.get().SYD_NakedSign(orgData,SM2dn);
|
byte[] nakedSign = api.get().SYD_NakedSign(orgData,SM2dn);
|
||||||
|
|
||||||
|
|||||||
@ -4178,10 +4178,12 @@ public class SydApi4j implements SydApi {
|
|||||||
bb.put((byte) 0x31);
|
bb.put((byte) 0x31);
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized (this) {
|
// synchronized (this) {
|
||||||
// 响应解析
|
// // 响应解析
|
||||||
bb = syncRead(syncSend(bb));
|
// bb = syncRead(syncSend(bb));
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
bb = sendAndGetResponse(bb);
|
||||||
|
|
||||||
byte[] success = new byte[2];
|
byte[] success = new byte[2];
|
||||||
Arrays.fill(success, (byte) 0);
|
Arrays.fill(success, (byte) 0);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import cn.hutool.core.date.StopWatch;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.sunyard.SydApiException;
|
import com.sunyard.SydApiException;
|
||||||
import com.sunyard.proto.Util;
|
import com.sunyard.proto.Util;
|
||||||
|
import com.sunyard.util.CertUtil;
|
||||||
import com.sunyard.util.IpLockUtils;
|
import com.sunyard.util.IpLockUtils;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@ -27,7 +28,7 @@ public class Test4NongxinCW {
|
|||||||
@Before
|
@Before
|
||||||
public void 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 = (SydApi4j) new SydApi4j();
|
||||||
// api.startHeartbeat();
|
// api.startHeartbeat();
|
||||||
|
|
||||||
@ -54,8 +55,10 @@ public class Test4NongxinCW {
|
|||||||
public void testHA() {
|
public void testHA() {
|
||||||
|
|
||||||
for (int i = 0; i < 100000; i++) {
|
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));
|
// 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);
|
CountDownLatch startLatch = new CountDownLatch(1);
|
||||||
|
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 200; i++) {
|
||||||
futures.add(executor.submit(() -> {
|
futures.add(executor.submit(() -> {
|
||||||
try {
|
try {
|
||||||
startLatch.await(); // 等待统一开始
|
startLatch.await(); // 等待统一开始
|
||||||
@ -81,8 +84,9 @@ public class Test4NongxinCW {
|
|||||||
|
|
||||||
SydApi4j api2 = new SydApi4j();
|
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);
|
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");
|
// orgData = Hex.decode("80a370b809e8a46ba51211a35d6f0180fea32b4acc97916bc9c517ea6651134c");
|
||||||
// byte[] nakedSign1 = api.SYD_NakedSign(SM2dn, (byte[])null, orgData);
|
// byte[] nakedSign1 = api.SYD_NakedSign(SM2dn, (byte[])null, orgData);
|
||||||
// System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign1));
|
// System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign1));
|
||||||
orgData = new byte[4096];
|
orgData = new byte[1024];
|
||||||
|
|
||||||
//裸签
|
//裸签
|
||||||
byte[] nakedSign = api.SYD_NakedSign(orgData,SM2dn);
|
byte[] nakedSign = api.SYD_NakedSign(orgData,SM2dn);
|
||||||
System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign));
|
System.out.println("SM2签名:"+ Util.bytes2HexString(nakedSign));
|
||||||
@ -347,9 +352,25 @@ public class Test4NongxinCW {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void delCert() {
|
public void delCert() {
|
||||||
String SM2dn1 = "C=CN,ST=北京,L=北京,O=信雅达,OU=测试部门1,CN=172.1.41.139";
|
// String SM2dn1 = "C=CN,ST=北京,L=北京,O=信雅达,OU=测试部门1,CN=172.1.41.139";
|
||||||
boolean del = api.deleteCert(SM2dn1);
|
// boolean del = api.deleteCert(SM2dn1);
|
||||||
System.out.println("删除:"+ del);
|
// 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
|
@Test
|
||||||
@ -374,6 +395,77 @@ public class Test4NongxinCW {
|
|||||||
System.out.println(s);
|
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