完善jmter
This commit is contained in:
parent
9af716e87d
commit
62598e0c89
217
src/main/java/com/jmeter/test/Test4Jemter.java
Normal file
217
src/main/java/com/jmeter/test/Test4Jemter.java
Normal file
@ -0,0 +1,217 @@
|
|||||||
|
package com.jmeter.test;
|
||||||
|
|
||||||
|
import com.sunyard.SydApiException;
|
||||||
|
import com.sunyard.proto.Util;
|
||||||
|
import org.apache.jmeter.config.Arguments;
|
||||||
|
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
|
||||||
|
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
|
||||||
|
import org.apache.jmeter.samplers.SampleResult;
|
||||||
|
import racal.sunyard.main.SydApi4j;
|
||||||
|
import racal.sunyard.main.SydApiBuilder;
|
||||||
|
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
|
|
||||||
|
public class Test4Jemter extends AbstractJavaSamplerClient {
|
||||||
|
|
||||||
|
private String SM2dn ;
|
||||||
|
private String RSAdn ;
|
||||||
|
private String ip ;
|
||||||
|
private String ip2 ;
|
||||||
|
private String oData;
|
||||||
|
private String sign;
|
||||||
|
private byte[] orgData;
|
||||||
|
|
||||||
|
private int type;
|
||||||
|
|
||||||
|
private static ThreadLocal<SydApi4j> api;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定义默认的参数,在jmeter中会自动显示在这里定义的默认参数
|
||||||
|
* @return Arguments对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Arguments getDefaultParameters() {
|
||||||
|
Arguments arguments = new Arguments();
|
||||||
|
arguments.addArgument("SM2dn", "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1");
|
||||||
|
arguments.addArgument("RSAdn", "C=cn,O=CFCA TEST CA,OU=NCS2,OU=Enterprises,CN=041@Z402451000010@ShanDong@00000001");
|
||||||
|
arguments.addArgument("orgData", "12345678");
|
||||||
|
arguments.addArgument("ip", "192.168.0.166");
|
||||||
|
// arguments.addArgument("ip2", "172.16.17.161");
|
||||||
|
arguments.addArgument("type", "1");
|
||||||
|
arguments.addArgument("sign", "12345678");
|
||||||
|
return arguments;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 在执行测试之前执行,只执行一次,可以获取传递过来的参数,一般用来做初始化操作
|
||||||
|
* @param context 可以获取jmeter传递过来的参数
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setupTest(JavaSamplerContext context) {
|
||||||
|
//对成员变量初始化
|
||||||
|
SM2dn = context.getParameter("SM2dn");
|
||||||
|
RSAdn = context.getParameter("RSAdn");
|
||||||
|
oData = context.getParameter("orgData");
|
||||||
|
ip = context.getParameter("ip");
|
||||||
|
// ip2 = context.getParameter("ip2");
|
||||||
|
type = context.getIntParameter("type");
|
||||||
|
sign = context.getParameter("sign");
|
||||||
|
System.setProperty("com.sunyard.dnsort", "false");
|
||||||
|
api = new ThreadLocal<SydApi4j>() {
|
||||||
|
public SydApi4j initialValue() {
|
||||||
|
|
||||||
|
SydApiBuilder builder = new SydApiBuilder().setIp(ip);
|
||||||
|
final SydApi4j api = (SydApi4j) builder.build();
|
||||||
|
return api;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 真正的测试代码块,jmeter按照配置的逻辑执行该方法
|
||||||
|
* @param javaSamplerContext 上下文对象,可以获取jmeter传递的参数
|
||||||
|
* @return SampleResult对象用于封装结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
|
||||||
|
SampleResult sr = new SampleResult();
|
||||||
|
//设置标签
|
||||||
|
sr.setSampleLabel("testDemo");
|
||||||
|
//设置开始标志,否则无法统计tps等
|
||||||
|
sr.sampleStart();
|
||||||
|
try {
|
||||||
|
orgData = oData.getBytes(); //SM2裸签
|
||||||
|
//执行业务逻辑
|
||||||
|
switch(type){
|
||||||
|
case 1:
|
||||||
|
api.get().SYD_NakedSign(SM2dn, orgData, (byte[]) null);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(Util.encodeBase64(nakedSign1), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
api.get().SYD_NakedVerify(SM2dn, Util.decodeBase64(sign), orgData, (byte[])null) ;
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(String.valueOf(nakedVerify1), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
//RSA裸签
|
||||||
|
api.get().SYD_NakedSign(1, RSAdn,orgData,(byte[])null);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(Util.encodeBase64(nakedSign2), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
api.get().SYD_NakedVerify(1, RSAdn,Util.decodeBase64(sign),orgData ,(byte[])null);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(String.valueOf(nakedVerify2), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
api.get().detachedSign(1, orgData, SM2dn);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(detSign1, StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 6:
|
||||||
|
api.get().detachedVerify(1, orgData, sign);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(String.valueOf(detV1), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 7:
|
||||||
|
api.get().detachedSign(2,1, orgData, RSAdn);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(detSign2, StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 8:
|
||||||
|
api.get().detachedVerify(2,2, orgData, sign);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(String.valueOf(detV2), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 9:
|
||||||
|
api.get().attachedSignHsm(orgData, SM2dn);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(attSign1, StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 10:
|
||||||
|
api.get().attachedVerify( sign.getBytes());
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
// sr.setResponseData(String.valueOf(attV1), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 11:
|
||||||
|
api.get().attachedSignRSAHsm(2, orgData, RSAdn);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
// sr.setResponseData(attSign2, StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 12:
|
||||||
|
api.get().attachedVerifyRSA(2, sign);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
// sr.setResponseData(String.valueOf(attV2), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 13:
|
||||||
|
api.get().generateDE(SM2dn.getBytes(), 3, 1, orgData);
|
||||||
|
// byte[] cipherKey = (byte[]) genSM2.get(SydApi.RET_CIPHER_KEY);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
// sr.setResponseData(new String(cipherKey), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 14:
|
||||||
|
api.get().decryptDE(true, 1, SM2dn.getBytes(), sign);;
|
||||||
|
// byte[] oData = (byte[]) denSM2.get("oData");
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
// sr.setResponseData(new String(oData), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case 15:
|
||||||
|
api.get(). generateDE(RSAdn.getBytes(), 4, 1, orgData);
|
||||||
|
// byte[] cipherKeyRSA = (byte[]) genRSA.get(SydApi.RET_CIPHER_KEY);
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(new String(cipherKeyRSA), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 16:
|
||||||
|
api.get().decryptDERSA(true, 1, RSAdn.getBytes(), sign);
|
||||||
|
// byte[] oDataRSA = (byte[]) denRSA.get("oData");
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
//sr.setResponseData(new String(oDataRSA), StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
sr.setResponseCodeOK();
|
||||||
|
sr.setResponseData("请选择测试组", StandardCharsets.UTF_8.displayName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
sr.setSuccessful(true);
|
||||||
|
}catch (SydApiException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
sr.setResponseCode(String.valueOf(e.getRetCode()));
|
||||||
|
sr.setResponseData(e.getMessage(), StandardCharsets.UTF_8.displayName());
|
||||||
|
sr.setSuccessful(false);
|
||||||
|
}finally {
|
||||||
|
sr.sampleEnd();
|
||||||
|
}
|
||||||
|
return sr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 测试完成后执行,一般用于关闭资源
|
||||||
|
* @param context 上下文对象,可用于获取jmeter传递的参数
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void teardownTest(JavaSamplerContext context) {
|
||||||
|
System.runFinalization();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,210 +0,0 @@
|
|||||||
//package com.jmeter.test;
|
|
||||||
//
|
|
||||||
//import com.sunyard.RetWrap;
|
|
||||||
//import com.sunyard.SydApi;
|
|
||||||
//import com.sunyard.SydApiException;
|
|
||||||
//import com.sunyard.proto.Util;
|
|
||||||
//import org.apache.jmeter.config.Arguments;
|
|
||||||
//import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
|
|
||||||
//import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
|
|
||||||
//import org.apache.jmeter.samplers.SampleResult;
|
|
||||||
//import racal.sunyard.main.SydApi4j;
|
|
||||||
//import racal.sunyard.main.SydApiBuilder;
|
|
||||||
//import sun.nio.cs.StandardCharsets;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//public class Test4ZS extends AbstractJavaSamplerClient {
|
|
||||||
//
|
|
||||||
// private String SM2dn ;
|
|
||||||
// private String RSAdn ;
|
|
||||||
// private String ip ;
|
|
||||||
// private String ip2 ;
|
|
||||||
// private String oData;
|
|
||||||
// private String sign;
|
|
||||||
// private byte[] orgData;
|
|
||||||
//
|
|
||||||
// private int type;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 定义默认的参数,在jmeter中会自动显示在这里定义的默认参数
|
|
||||||
// * @return Arguments对象
|
|
||||||
// */
|
|
||||||
// @Override
|
|
||||||
// public Arguments getDefaultParameters() {
|
|
||||||
// Arguments arguments = new Arguments();
|
|
||||||
// arguments.addArgument("SM2dn", "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1");
|
|
||||||
// arguments.addArgument("RSAdn", "C=cn,O=CFCA TEST CA,OU=NCS2,OU=Enterprises,CN=041@Z402451000010@ShanDong@00000001");
|
|
||||||
// arguments.addArgument("orgData", "12345678");
|
|
||||||
// arguments.addArgument("ip", "172.16.17.161");
|
|
||||||
// arguments.addArgument("ip2", "172.16.17.161");
|
|
||||||
// arguments.addArgument("type", "1");
|
|
||||||
// arguments.addArgument("sign", "12345678");
|
|
||||||
// return arguments;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 在执行测试之前执行,只执行一次,可以获取传递过来的参数,一般用来做初始化操作
|
|
||||||
// * @param context 可以获取jmeter传递过来的参数
|
|
||||||
// */
|
|
||||||
// @Override
|
|
||||||
// public void setupTest(JavaSamplerContext context) {
|
|
||||||
// //对成员变量初始化
|
|
||||||
// SM2dn = context.getParameter("SM2dn");
|
|
||||||
// RSAdn = context.getParameter("RSAdn");
|
|
||||||
// oData = context.getParameter("orgData");
|
|
||||||
// ip = context.getParameter("ip");
|
|
||||||
// ip2 = context.getParameter("ip2");
|
|
||||||
// type = context.getIntParameter("type");
|
|
||||||
// sign = context.getParameter("sign");
|
|
||||||
// System.setProperty("com.sunyard.dnsort", "false");
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 真正的测试代码块,jmeter按照配置的逻辑执行该方法
|
|
||||||
// * @param javaSamplerContext 上下文对象,可以获取jmeter传递的参数
|
|
||||||
// * @return SampleResult对象用于封装结果
|
|
||||||
// */
|
|
||||||
// @Override
|
|
||||||
// public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
|
|
||||||
// SampleResult sr = new SampleResult();
|
|
||||||
// //设置标签
|
|
||||||
// sr.setSampleLabel("testDemo");
|
|
||||||
// //设置开始标志,否则无法统计tps等
|
|
||||||
// sr.sampleStart();
|
|
||||||
// try {
|
|
||||||
// SydApi4j.SYD_Set_Parameter_HA(ip, ip2, 8889, 1000);
|
|
||||||
// SydApi4j api = (SydApi4j) new SydApi4j();
|
|
||||||
// orgData = oData.getBytes(); //SM2裸签
|
|
||||||
// //执行业务逻辑
|
|
||||||
// switch(type){
|
|
||||||
// case 1:
|
|
||||||
// api.SYD_NakedSign(SM2dn, orgData, (byte[])null);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(Util.encodeBase64(nakedSign1), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// case 2:
|
|
||||||
// api.SYD_NakedVerify(SM2dn, Util.decodeBase64(sign), orgData, (byte[])null) ;
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(String.valueOf(nakedVerify1), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 3:
|
|
||||||
// //RSA裸签
|
|
||||||
// api.SYD_NakedSign(1, RSAdn,orgData,(byte[])null);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(Util.encodeBase64(nakedSign2), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 4:
|
|
||||||
// api.SYD_NakedVerify(1, RSAdn,Util.decodeBase64(sign),orgData ,(byte[])null);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(String.valueOf(nakedVerify2), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 5:
|
|
||||||
// api.detachedSign(1, orgData, SM2dn);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(detSign1, StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 6:
|
|
||||||
// api.detachedVerify(1, orgData, sign);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(String.valueOf(detV1), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 7:
|
|
||||||
// api.detachedSign(2,1, orgData, RSAdn);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(detSign2, StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 8:
|
|
||||||
// api.detachedVerify(2,2, orgData, sign);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(String.valueOf(detV2), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 9:
|
|
||||||
// api.attachedSignHsm(orgData, SM2dn);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(attSign1, StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 10:
|
|
||||||
// api.attachedVerify( sign.getBytes());
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// // sr.setResponseData(String.valueOf(attV1), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 11:
|
|
||||||
// api.attachedSignRSAHsm(2, orgData, RSAdn);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// // sr.setResponseData(attSign2, StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 12:
|
|
||||||
// api.attachedVerifyRSA(2, sign);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// // sr.setResponseData(String.valueOf(attV2), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 13:
|
|
||||||
// api.generateDE(SM2dn.getBytes(), 3, 1, orgData);
|
|
||||||
// // byte[] cipherKey = (byte[]) genSM2.get(SydApi.RET_CIPHER_KEY);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// // sr.setResponseData(new String(cipherKey), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 14:
|
|
||||||
// api.decryptDE(true, 1, SM2dn.getBytes(), sign);;
|
|
||||||
// // byte[] oData = (byte[]) denSM2.get("oData");
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// // sr.setResponseData(new String(oData), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// case 15:
|
|
||||||
// api. generateDE(RSAdn.getBytes(), 4, 1, orgData);
|
|
||||||
// // byte[] cipherKeyRSA = (byte[]) genRSA.get(SydApi.RET_CIPHER_KEY);
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(new String(cipherKeyRSA), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// case 16:
|
|
||||||
// api.decryptDERSA(true, 1, RSAdn.getBytes(), sign);
|
|
||||||
// // byte[] oDataRSA = (byte[]) denRSA.get("oData");
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// //sr.setResponseData(new String(oDataRSA), StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
//
|
|
||||||
// default:
|
|
||||||
// sr.setResponseCodeOK();
|
|
||||||
// sr.setResponseData("请选择测试组", StandardCharsets.UTF_8.displayName());
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// sr.setSuccessful(true);
|
|
||||||
// }catch (SydApiException e){
|
|
||||||
// e.printStackTrace();
|
|
||||||
// sr.setResponseCode(String.valueOf(e.getRetCode()));
|
|
||||||
// sr.setResponseData(e.getMessage(), StandardCharsets.UTF_8.displayName());
|
|
||||||
// sr.setSuccessful(false);
|
|
||||||
// }finally {
|
|
||||||
// sr.sampleEnd();
|
|
||||||
// }
|
|
||||||
// return sr;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 测试完成后执行,一般用于关闭资源
|
|
||||||
// * @param context 上下文对象,可用于获取jmeter传递的参数
|
|
||||||
// */
|
|
||||||
// @Override
|
|
||||||
// public void teardownTest(JavaSamplerContext context) {
|
|
||||||
// System.runFinalization();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
@ -1821,22 +1821,24 @@ public class SydApi4j implements SydApi {
|
|||||||
buff = new byte[bb.position()];
|
buff = new byte[bb.position()];
|
||||||
System.arraycopy(bb.array(), 0, buff, 0, buff.length);
|
System.arraycopy(bb.array(), 0, buff, 0, buff.length);
|
||||||
}
|
}
|
||||||
|
if(debug){
|
||||||
|
println("\n\n发送数据");
|
||||||
println("\n\n发送数据");
|
|
||||||
// print("原始数据: \t");
|
// print("原始数据: \t");
|
||||||
// println(Arrays.toString(buff));
|
// println(Arrays.toString(buff));
|
||||||
print("HEX数据: \t");
|
print("HEX数据: \t");
|
||||||
println(Util.bytes2HexString(buff));
|
|
||||||
|
|
||||||
if (null != builder && builder.isUseEBCDMode()) {
|
|
||||||
// 对十个字节之后的进行 EBCD 转码
|
|
||||||
buff = CoderUtil.ASCIIToEBCDICFIX(buff, 10);
|
|
||||||
print("EBCD 数据: \t");
|
|
||||||
println(Util.bytes2HexString(buff));
|
println(Util.bytes2HexString(buff));
|
||||||
|
|
||||||
|
if (null != builder && builder.isUseEBCDMode()) {
|
||||||
|
// 对十个字节之后的进行 EBCD 转码
|
||||||
|
buff = CoderUtil.ASCIIToEBCDICFIX(buff, 10);
|
||||||
|
print("EBCD 数据: \t");
|
||||||
|
println(Util.bytes2HexString(buff));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
testSocket();
|
|
||||||
|
|
||||||
|
//testSocket();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
socket.getOutputStream().write(buff);
|
socket.getOutputStream().write(buff);
|
||||||
@ -1918,12 +1920,14 @@ public class SydApi4j implements SydApi {
|
|||||||
|
|
||||||
len += 2;
|
len += 2;
|
||||||
|
|
||||||
print("H\t");
|
if(debug){
|
||||||
println(Integer.toHexString(high));
|
print("H\t");
|
||||||
print("L\t");
|
println(Integer.toHexString(high));
|
||||||
println(Integer.toHexString(low));
|
print("L\t");
|
||||||
print("Len\t");
|
println(Integer.toHexString(low));
|
||||||
println(len);
|
print("Len\t");
|
||||||
|
println(len);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ByteBuffer bb = ByteBuffer.allocate(len);
|
ByteBuffer bb = ByteBuffer.allocate(len);
|
||||||
@ -1950,16 +1954,24 @@ public class SydApi4j implements SydApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (null != builder && builder.isUseEBCDMode()) {
|
if (null != builder && builder.isUseEBCDMode()) {
|
||||||
print("EBCD 数据: \t");
|
// print("EBCD 数据: \t");
|
||||||
println(Util.bytes2HexString(bb.array()));
|
// println(Util.bytes2HexString(bb.array()));
|
||||||
|
|
||||||
byte[] b = bb.array();
|
byte[] b = bb.array();
|
||||||
CoderUtil.EBCDICToASCIIFIX(b, 10);
|
CoderUtil.EBCDICToASCIIFIX(b, 10);
|
||||||
}
|
}
|
||||||
|
if(debug){
|
||||||
|
print("EBCD 数据: \t");
|
||||||
|
println(Util.bytes2HexString(bb.array()));
|
||||||
|
print("HEX数据: \t");
|
||||||
|
println(Util.bytes2HexString(bb.array()));
|
||||||
|
}
|
||||||
|
|
||||||
print("HEX数据: \t");
|
// print("HEX数据: \t");
|
||||||
println(Util.bytes2HexString(bb.array()));
|
// println(Util.bytes2HexString(bb.array()));
|
||||||
return bb;
|
return bb;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1971,7 +1983,7 @@ public class SydApi4j implements SydApi {
|
|||||||
* @buffer 如果出错,需要补发的数据。
|
* @buffer 如果出错,需要补发的数据。
|
||||||
*/
|
*/
|
||||||
protected ByteBuffer syncRead(byte[] buffer) {
|
protected ByteBuffer syncRead(byte[] buffer) {
|
||||||
println("\n\n接收数据");
|
// println("\n\n接收数据");
|
||||||
try {
|
try {
|
||||||
// 正常接收
|
// 正常接收
|
||||||
ByteBuffer bb = read(socket);
|
ByteBuffer bb = read(socket);
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package sample;
|
package sample;
|
||||||
|
|
||||||
import com.sunyard.SydApi;
|
import com.sunyard.SydApi;
|
||||||
|
import com.sunyard.proto.Util;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -40,4 +41,12 @@ public class HashTest {
|
|||||||
public void sha256(){
|
public void sha256(){
|
||||||
api.itHash( 1, new byte[ 5 * 1024 * 1024 ]);
|
api.itHash( 1, new byte[ 5 * 1024 * 1024 ]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void hex(){
|
||||||
|
String s = "MEQCICECex9ZSh6PktFDu3rkszxJ++miqXBs5uCJS2VL8lhUAiBgZSLbJAMgrpTpmRL2L/5XsWBHSoFbKI6ToSzDnbPCaQ==";
|
||||||
|
System.out.println(Util.bytes2HexString(Util.decodeBase64(s)));
|
||||||
|
System.out.println(new String(Util.decodeBase64(s)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import com.sunyard.RetWrap;
|
|||||||
import com.sunyard.SydApi;
|
import com.sunyard.SydApi;
|
||||||
import com.sunyard.SydApiException;
|
import com.sunyard.SydApiException;
|
||||||
import com.sunyard.proto.Util;
|
import com.sunyard.proto.Util;
|
||||||
|
import org.junit.Test;
|
||||||
import racal.sunyard.main.SydApi4j;
|
import racal.sunyard.main.SydApi4j;
|
||||||
import racal.sunyard.main.SydApiBuilder;
|
import racal.sunyard.main.SydApiBuilder;
|
||||||
|
|
||||||
@ -23,11 +24,11 @@ public class Sample4ZS {
|
|||||||
String ip2 = "172.16.17.161";
|
String ip2 = "172.16.17.161";
|
||||||
|
|
||||||
//主备模式连接
|
//主备模式连接
|
||||||
SydApi4j.SYD_Set_Parameter_HA(ip, ip2, 8889, 1000);
|
// SydApi4j.SYD_Set_Parameter_HA(ip, ip2, 8889, 1000);
|
||||||
SydApi4j api = (SydApi4j) new SydApi4j();
|
// SydApi4j api = (SydApi4j) new SydApi4j();
|
||||||
//设置连接
|
//设置连接
|
||||||
// SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161");
|
SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161");
|
||||||
// SydApi4j api = (SydApi4j) builder.build();
|
SydApi4j api = (SydApi4j) builder.build();
|
||||||
try {
|
try {
|
||||||
long startTime = System.currentTimeMillis(); //获取开始时间
|
long startTime = System.currentTimeMillis(); //获取开始时间
|
||||||
// //SM2裸签
|
// //SM2裸签
|
||||||
@ -94,4 +95,25 @@ public class Sample4ZS {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void importCert(){
|
||||||
|
//调试模式(控制台会打印发送报文)
|
||||||
|
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||||
|
//证书是否反序校验
|
||||||
|
//System.setProperty("com.sunyard.dnsort", "false");
|
||||||
|
String ip = "172.16.17.1";
|
||||||
|
String ip2 = "172.16.17.161";
|
||||||
|
|
||||||
|
//主备模式连接
|
||||||
|
SydApi4j.SYD_Set_Parameter_HA(ip, ip2, 8889, 1000);
|
||||||
|
SydApi4j api = (SydApi4j) new SydApi4j();
|
||||||
|
|
||||||
|
//证书导入
|
||||||
|
String cert = "";
|
||||||
|
api.importCert(cert.getBytes(),null);
|
||||||
|
|
||||||
|
|
||||||
|
api.SYD_NakedSign(SM2dn, orgData, (byte[])null);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,17 +16,22 @@ import java.util.List;
|
|||||||
|
|
||||||
public class Test4Nongxin {
|
public class Test4Nongxin {
|
||||||
|
|
||||||
private static final String SM2dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
|
private static final String SM2dn = "C=CN,O=Sunyard,OU=8001,CN=8001";
|
||||||
private static final String RSAdn = "C=cn,O=CFCA TEST CA,OU=NCS2,OU=Enterprises,CN=041@Z402451000010@ShanDong@00000001";
|
private static final String RSAdn = "C=cn,O=CFCA TEST CA,OU=NCS2,OU=Enterprises,CN=041@Z402451000010@ShanDong@00000001";
|
||||||
private static final byte[] orgData = new byte[ 10*1024 ];
|
private static final byte[] orgData = new byte[ 2*1024 ];
|
||||||
private static final byte[] orgDataBig = new byte[ 10*1024 ];
|
private static final byte[] orgDataBig = new byte[ 10*1024 ];
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
//System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
//System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||||
//设置连接
|
//设置连接
|
||||||
SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161");
|
SydApiBuilder builder = new SydApiBuilder().setIp("192.168.0.200");
|
||||||
SydApi4j api = (SydApi4j) builder.build();
|
SydApi4j api = (SydApi4j) builder.build();
|
||||||
try {
|
try {
|
||||||
//SM2裸签
|
//SM2裸签
|
||||||
|
byte[] nakedSign = api.SYD_NakedSign(SM2dn, orgData, null);
|
||||||
|
boolean b1 = api.SYD_NakedVerify(SM2dn, nakedSign, orgData, null);
|
||||||
|
System.out.println(b1);
|
||||||
|
|
||||||
|
|
||||||
byte[] nakedSign1 = api.SYD_NakedSignAll(4,orgData, SM2dn);
|
byte[] nakedSign1 = api.SYD_NakedSignAll(4,orgData, SM2dn);
|
||||||
System.out.println("SM2大数据裸签:"+ Util.bytes2HexString(nakedSign1));
|
System.out.println("SM2大数据裸签:"+ Util.bytes2HexString(nakedSign1));
|
||||||
boolean nakedVerify1 = api.SYD_NakedVerifyAll(4,orgData, nakedSign1, SM2dn);
|
boolean nakedVerify1 = api.SYD_NakedVerifyAll(4,orgData, nakedSign1, SM2dn);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user