本地保存

This commit is contained in:
yihzhou
2023-08-25 15:49:31 +08:00
parent b26aab01a4
commit 6f833730c2
4 changed files with 412 additions and 640 deletions
+39
View File
@@ -0,0 +1,39 @@
package sample;
import com.sunyard.proto.Util;
import racal.sunyard.main.SydApi4j;
import racal.sunyard.main.SydApiBuilder;
public class Sample4GH {
private static final String SM2dn = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
private static final String SM2dn2 = "C=CN,O=SM2,OU=test,CN=1";
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[ 1024];
public static void main(String[] args) {
//设置连接
SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161");
SydApi4j api = (SydApi4j) builder.build();
byte[] nakedSign = api.SYD_NakedSign(SM2dn, orgData, (byte[]) null);
System.out.println("裸签"+nakedSign);
boolean nakedVerify = api.SYD_NakedVerify(SM2dn, nakedSign, orgData, (byte[]) null);
System.out.println("裸签验签"+nakedVerify);
String detachedSign = api.detachedSign(1, orgData, SM2dn);
System.out.println("det签名"+detachedSign);
boolean detachedVerify = api.detachedVerify(1, orgData, detachedSign);
System.out.println("det验签"+detachedVerify);
String attachedSign = api.attachedSignHsm(orgData, SM2dn);
System.out.println("att签名"+attachedSign);
boolean attachedVerify = api.attachedVerify(attachedSign.getBytes());
System.out.println("att验签"+attachedVerify);
}
}
+41 -41
View File
@@ -40,52 +40,52 @@ public class Sample4ZS {
System.out.println("SM2数据验签:"+nakedVerify1 );
//
//RSA裸签
// byte[] nakedSign2 = api.SYD_NakedSign(1, RSAdn,orgData,(byte[])null);
// boolean nakedVerify2 = api.SYD_NakedVerify(1, RSAdn,nakedSign2,orgData ,(byte[])null);
// System.out.println("RSA数据验签:"+nakedVerify2 );
byte[] nakedSign2 = api.SYD_NakedSign(1, RSAdn,orgData,(byte[])null);
boolean nakedVerify2 = api.SYD_NakedVerify(1, RSAdn,nakedSign2,orgData ,(byte[])null);
System.out.println("RSA数据验签:"+nakedVerify2 );
// detach签名
// for (int i = 0; i < 10; i++) {
// String detSign1 = api.detachedSignAll(4, orgData, SM2dn);
// System.out.println("SM2detach签名:"+detSign1);
// }
//detach签名
// boolean detV1 = api.detachedVerifyAll(4, orgData, detSign1);
// System.out.println("SM2detach验签:"+detV1);
//
//
// String detSign2= api.detachedSignAll(2, orgData, RSAdn);
// System.out.println("RSA detach签名:"+detSign2);
// boolean detV2 = api.detachedVerifyAll(2, orgData, detSign2);
// System.out.println("RSA detach验签:"+detV2);
String detSign1 = api.detachedSignAll(4, orgData, SM2dn);
System.out.println("SM2detach签名:"+detSign1);
boolean detV1 = api.detachedVerifyAll(4, orgData, detSign1);
System.out.println("SM2detach验签:"+detV1);
String detSign2= api.detachedSignAll(2, orgData, RSAdn);
System.out.println("RSA detach签名:"+detSign2);
boolean detV2 = api.detachedVerifyAll(2, orgData, detSign2);
System.out.println("RSA detach验签:"+detV2);
//attach签名
// String attSign1 = api.attachedSignAll(4, orgData, SM2dn);
// System.out.println("SM2attach签名:"+attSign1);
// boolean attV1 = api.attachedVerifyAll(4, attSign1);
// System.out.println("SM2attach验签:"+attV1);
//
//
// String attSign2 = api.attachedSignAll(2, orgData, RSAdn);
// System.out.println("RSA attach签名:"+attSign2);
// boolean attV2 = api.attachedVerifyAll(2, attSign2);
// System.out.println("RSA attach验签:"+attV1);
//
// //数字信封
// RetWrap genSM2 = api.generateDEByDnAll(3, SM2dn, orgData);
// byte[] cipherKey = (byte[]) genSM2.get(SydApi.RET_CIPHER_KEY);
// System.out.println("SM4加密" + new String(cipherKey));
// RetWrap denSM2 = api.decryptDEByDNAll(3, SM2dn, cipherKey);
// byte[] oData = (byte[]) denSM2.get("oData");
// System.out.println("SM4解密:"+Util.bytes2HexString(oData));
String attSign1 = api.attachedSignAll(4, orgData, SM2dn);
System.out.println("SM2attach签名:"+attSign1);
boolean attV1 = api.attachedVerifyAll(4, attSign1);
System.out.println("SM2attach验签:"+attV1);
//
// RetWrap genRSA = api.generateDEByDnAll(4, RSAdn, orgData);
// byte[] cipherKeyRSA = (byte[]) genRSA.get(SydApi.RET_CIPHER_KEY);
// System.out.println("RSA数字信封: " + new String(cipherKeyRSA));
// RetWrap denRSA = api.decryptDEByDNAll(4, RSAdn, cipherKeyRSA);
// byte[] oDataRSA = (byte[]) denRSA.get("oData");
// System.out.println("RSA信封解密:"+Util.bytes2HexString(oDataRSA));
String attSign2 = api.attachedSignAll(2, orgData, RSAdn);
System.out.println("RSA attach签名:"+attSign2);
boolean attV2 = api.attachedVerifyAll(2, attSign2);
System.out.println("RSA attach验签:"+attV1);
//数字信封
RetWrap genSM2 = api.generateDEByDnAll(3, SM2dn, orgData);
byte[] cipherKey = (byte[]) genSM2.get(SydApi.RET_CIPHER_KEY);
System.out.println("SM4加密" + new String(cipherKey));
RetWrap denSM2 = api.decryptDEByDNAll(3, SM2dn, cipherKey);
byte[] oData = (byte[]) denSM2.get("oData");
System.out.println("SM4解密:"+Util.bytes2HexString(oData));
RetWrap genRSA = api.generateDEByDnAll(4, RSAdn, orgData);
byte[] cipherKeyRSA = (byte[]) genRSA.get(SydApi.RET_CIPHER_KEY);
System.out.println("RSA数字信封: " + new String(cipherKeyRSA));
RetWrap denRSA = api.decryptDEByDNAll(4, RSAdn, cipherKeyRSA);
byte[] oDataRSA = (byte[]) denRSA.get("oData");
System.out.println("RSA信封解密:"+Util.bytes2HexString(oDataRSA));
}catch (SydApiException e){