75 lines
2.9 KiB
Java
75 lines
2.9 KiB
Java
package sample;
|
||
|
||
import com.sunyard.RetWrap;
|
||
import com.sunyard.SydApi;
|
||
import com.sunyard.SydApiException;
|
||
import com.sunyard.proto.Util;
|
||
import racal.sunyard.main.SydApi4j;
|
||
import racal.sunyard.main.SydApiBuilder;
|
||
|
||
import java.io.UnsupportedEncodingException;
|
||
import java.util.regex.Matcher;
|
||
import java.util.regex.Pattern;
|
||
|
||
public class Sample4HY {
|
||
private static final String SM2dn = "C=cn,O=CFCA TEST OCA1,OU=Local RA,OU=Organizational-1,CN=041@Z8000000001938231GX0@8000000001938231GX0@00000001";
|
||
private static final String SM2dn2 = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1" ;
|
||
|
||
|
||
private static final byte[] orgData = new byte[ 1*1024];
|
||
|
||
public static void main(String[] args) {
|
||
//调试模式(控制台会打印发送报文)
|
||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||
//证书是否反序校验
|
||
//System.setProperty("com.sunyard.dnsort", "false");
|
||
//主备模式连接
|
||
SydApi4j.SYD_Set_Parameter_HA("172.16.17.1", "172.16.17.16", 8889, 1000);
|
||
SydApi4j api = (SydApi4j) new SydApi4j();
|
||
//设置连接
|
||
// SydApiBuilder builder = new SydApiBuilder().setIp("192.168.0.100");
|
||
// SydApi4j api = (SydApi4j) builder.build();
|
||
try {
|
||
|
||
// SM2裸签
|
||
byte[] nakedSign1 = api.SYD_NakedSign(orgData, SM2dn2);
|
||
System.out.println("SM2数据裸签:"+ Util.encodeBase64(nakedSign1));
|
||
|
||
boolean nakedVerify1 = api.SYD_NakedVerify(orgData, nakedSign1, SM2dn2);
|
||
System.out.println("SM2数据验签:"+nakedVerify1 );
|
||
|
||
|
||
// //数字信封
|
||
// RetWrap genSM2 = api.generateDEByDn( SM2dn2, orgData);
|
||
// byte[] cipherKey = (byte[]) genSM2.get(SydApi.RET_CIPHER_KEY);
|
||
// System.out.println("SM2数字信封: " + new String(cipherKey));
|
||
// RetWrap denSM2 = api.decryptDEByDN( SM2dn2, cipherKey);
|
||
// byte[] oData = (byte[]) denSM2.get("oData");
|
||
// System.out.println("SM2信封解密:"+Util.bytes2HexString(oData));
|
||
//
|
||
//
|
||
// String aa ="MEUCIQD3ZW+ReFjSbkPx2SEm3R8SwC4ke8ZllgGJBXEp8aSJsAIgUUEVqWQtbDPitbJQec5+71gCU3e3OBNwdL0EYoKId4k=";
|
||
// String oData2 ="test123";
|
||
// boolean nakedVerify2 = api.SYD_NakedVerify(oData2.getBytes(), Util.decodeBase64(aa), SM2dn);
|
||
// System.out.println("SM2数据验签:"+nakedVerify2 );
|
||
|
||
|
||
// String certByDn = api.getCertByDn(SM2dn2, 0);
|
||
// System.out.println(certByDn);
|
||
//
|
||
// Pattern pattern = Pattern.compile("-----BEGIN CERTIFICATE-----|-----END CERTIFICATE-----");
|
||
// Matcher matcher = pattern.matcher(certByDn);
|
||
// String dealCert = matcher.replaceAll("").trim();
|
||
// System.out.println(dealCert);
|
||
|
||
|
||
}catch (SydApiException e){
|
||
e.printStackTrace();
|
||
} catch (Exception e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
|
||
}
|
||
|
||
}
|