251 lines
20 KiB
Java
251 lines
20 KiB
Java
package sample;
|
||
|
||
import cn.hutool.core.codec.Base64;
|
||
import com.sunyard.RetWrap;
|
||
import com.sunyard.SydApi;
|
||
import com.sunyard.SydApiException;
|
||
import com.sunyard.cert.X509;
|
||
import com.sunyard.proto.Util;
|
||
import com.sunyard.util.ASN1Util;
|
||
import com.sunyard.util.SYMUtil;
|
||
import org.junit.Test;
|
||
import racal.sunyard.main.SydApi4j;
|
||
import racal.sunyard.main.SydApiBuilder;
|
||
|
||
import java.io.UnsupportedEncodingException;
|
||
import java.util.List;
|
||
|
||
public class Test4Nongxin {
|
||
|
||
private static final String SM2dn = "C=CN,ST=zz,L=zz,O=zzz,CN=zzzzz";
|
||
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[ 2*1024 ];
|
||
private static final byte[] orgDataBig = new byte[ 10*1024 ];
|
||
public static void main(String[] args) {
|
||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||
System.setProperty("com.sunyard.dnsort", "true");
|
||
//设置连接
|
||
SydApiBuilder builder = new SydApiBuilder().setIp("172.1.41.139");
|
||
SydApi4j api = (SydApi4j) builder.build();
|
||
try {
|
||
//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);
|
||
System.out.println("SM2大数据裸签:"+ Util.bytes2HexString(nakedSign1));
|
||
boolean nakedVerify1 = api.SYD_NakedVerifyAll(4,orgData, nakedSign1, SM2dn);
|
||
System.out.println("SM2大数据验签:"+nakedVerify1 );
|
||
|
||
//RSA裸签
|
||
byte[] nakedSign2 = api.SYD_NakedSignAll(1,orgData, RSAdn);
|
||
System.out.println("RSA大数据裸签:"+ Util.bytes2HexString(nakedSign2));
|
||
boolean nakedVerify2 = api.SYD_NakedVerifyAll(1,orgData, nakedSign2, RSAdn);
|
||
System.out.println("RSA大数据验签:"+nakedVerify2 );
|
||
|
||
|
||
byte[] nakedSign3 = api.SYD_NakedSignAll(4,orgData, SM2dn);
|
||
System.out.println("SM2裸签:"+ Util.bytes2HexString(nakedSign3));
|
||
boolean nakedVerify3 = api.SYD_NakedVerifyAll(4,orgData, nakedSign3, SM2dn);
|
||
System.out.println("SM2验签:"+nakedVerify3 );
|
||
|
||
byte[] nakedSign4 = api.SYD_NakedSignAll(2,orgData, RSAdn);
|
||
System.out.println("RSA裸签:"+ Util.bytes2HexString(nakedSign4));
|
||
boolean nakedVerify4 = api.SYD_NakedVerifyAll(2,orgData, nakedSign4, RSAdn);
|
||
System.out.println("RSA验签:"+nakedVerify4 );
|
||
|
||
|
||
String s = api.detachedSignAll(4, orgData, SM2dn);
|
||
System.out.println("SM2detach签名:"+s);
|
||
boolean b = api.detachedVerifyAll(4, orgData, s);
|
||
System.out.println("SM2detach验签:"+b);
|
||
|
||
|
||
String sde = api.detachedSignAll(4, orgDataBig, SM2dn);
|
||
System.out.println("SM2detach签名:"+sde);
|
||
boolean bde = api.detachedVerifyAll(4, orgDataBig, sde);
|
||
System.out.println("SM2detach验签:"+bde);
|
||
|
||
|
||
String rsa = api.detachedSignAll(2, orgData, RSAdn);
|
||
System.out.println("RSA detach签名:"+rsa);
|
||
boolean br = api.detachedVerifyAll(2, orgData, rsa);
|
||
System.out.println("RSA detach验签:"+br);
|
||
|
||
|
||
String det = api.detachedSignAll(3, orgDataBig, RSAdn);
|
||
System.out.println("RSA大数据detach签名:"+det);
|
||
boolean boo = api.detachedVerifyAll(3, orgDataBig, det);
|
||
System.out.println("RSA大数据detach验签:"+boo);
|
||
|
||
|
||
} catch (SydApiException e) {
|
||
throw new RuntimeException(e);
|
||
} finally {
|
||
api.disconnect();
|
||
}
|
||
|
||
}
|
||
|
||
@Test
|
||
public void testDetach() throws UnsupportedEncodingException {
|
||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||
//设置连接
|
||
SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161").setPort(8889).setTimeout(3000);
|
||
SydApi4j api = (SydApi4j) builder.build();
|
||
String dnn="C=CN,O=CFCA OCA1,OU=TPC-S3,OU=Organizational-2,CN=ARCU54H100000024";
|
||
|
||
String plain="<?xml version=\"1.0\" encoding=\"utf-8\"?><SignData><TradeType authLevel=\"0\" name=\"银行账号转账\">tran/acctTran</TradeType><Fields><PAYER_ACCT_NO name=\"付款账号:\">6217788300130014042</PAYER_ACCT_NO><RCV_ACCT_NO name=\"收款账号:\">6200548800010650170</RCV_ACCT_NO><RCV_ACCT_NAME name=\"收款方账户名称:\">测试</RCV_ACCT_NAME><TRAN_AMT name=\"转账金额:\">60001</TRAN_AMT></Fields></SignData>";
|
||
|
||
String signed = "MIIHYwYJKoZIhvcNAQcCoIIHVDCCB1ACAQExDzANBglghkgBZQMEAgEFADCCAa8GCSqGSIb3DQEHAaCCAaAEggGcPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U2lnbkRhdGE+PFRyYWRlVHlwZSBhdXRoTGV2ZWw9IjAiIG5hbWU9IumTtuihjOi0puWPt+i9rOi0piI+dHJhbi9hY2N0VHJhbjwvVHJhZGVUeXBlPjxGaWVsZHM+PFBBWUVSX0FDQ1RfTk8gbmFtZT0i5LuY5qy+6LSm5Y+377yaIj42MjE3Nzg4MzAwMTMwMDE0MDQyPC9QQVlFUl9BQ0NUX05PPjxSQ1ZfQUNDVF9OTyBuYW1lPSLmlLbmrL7otKblj7fvvJoiPjYyMDA1NDg4MDAwMTA2NTAxNzA8L1JDVl9BQ0NUX05PPjxSQ1ZfQUNDVF9OQU1FIG5hbWU9IuaUtuasvuaWuei0puaIt+WQjeensO+8miI+5rWL6K+VPC9SQ1ZfQUNDVF9OQU1FPjxUUkFOX0FNVCBuYW1lPSLovazotKbph5Hpop3vvJoiPjYwMDAxPC9UUkFOX0FNVD48L0ZpZWxkcz48L1NpZ25EYXRhPqCCA/UwggPxMIIC2aADAgECAgUQVgMZAjANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJDTjEwMC4GA1UEChMnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRcwFQYDVQQDEw5DRkNBIFRFU1QgT0NBMTAeFw0yMzA0MDYwODE1MDZaFw0yMzA3MDYwODE1MDZaMGQxCzAJBgNVBAYTAkNOMRIwEAYDVQQKEwlDRkNBIE9DQTExDzANBgNVBAsTBlRQQy1TMzEVMBMGA1UECxMMSW5kaXZpZHVhbC0xMRkwFwYDVQQDExBBUkNVNUIyMTAwMDAwMDQ5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk2V1C+HV+aXhkNVF6S0cxQDWpnxScupP0IJJRNOJ8jeJcld9LD0aOe22ox0G1zYmoeyqOo1gUNwOOV9qesGzGY4Zrs4VdxmlT4LmhiDKPMf635RdAW0bP/Qcg3FRW8aNjJRz66+oE25rpAfAcr+uSVWWG+OYcUWq6z61cfUjUTalN5crmADWmRTOkhAlwjkdmUon+jMGyzQmetMNhGw2T66aGwfg2dZDwLF/bc4YtY4SEGbzA7v83BhELK8stCGifqyoZoPYSZuW37SiJ315nk1B4IYmuxGNmdBPAP2/ZA4Drw/oSyG65Fpu4uV6wS1SWbFDZKt9GafmHpx5oxLrjwIDAQABo4G1MIGyMB8GA1UdIwQYMBaAFM9wnWHrnXwuuPfLAkD3CZ3+M3SAMDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly91Y3JsLmNmY2EuY29tLmNuL1JTQS9jcmw5NjA0Ny5jcmwwCwYDVR0PBAQDAgPoMB0GA1UdDgQWBBQRonmnaYyW0GynOardL7nKHlsiKDAoBgNVHSUEITAfBggrBgEFBQcDAgYIKwYBBQUHAwQGCSqGSIb3LwEBBTANBgkqhkiG9w0BAQUFAAOCAQEALRUezfLW2jLSzZ84BODOu09UPy149lFhcZEJc9yCyI8LIjGXkTWF8r5XWANbsqrhyAk1ewO5sXztClJMHipCtGv0tv20RiVGC5LdyqPW9VHp3WWFRxby7t3Gt9eWqhGUqjbD2oInadYZwyrefadAyDCT1uQFcik8MTlM/myHYknOphc5SDt20UZLxXgX89XYbwRQee6SG0CyIl+wBfyZh3X1kLjOwd7cdA39LhgZLJx5UDvViztqWWzafwz/M8TG+dCNiDdFQVpONXJJQDWtE61dFCOXhIS9IdlKzdKm+hdai6do5CSFsE1SC0FuiEGCVaySGf1RiW//Gd5KgS0Q6TGCAYwwggGIAgEBMGEwWDELMAkGA1UEBhMCQ04xMDAuBgNVBAoTJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEXMBUGA1UEAxMOQ0ZDQSBURVNUIE9DQTECBRBWAxkCMA0GCWCGSAFlAwQCAQUAMA0GCSqGSIb3DQEBAQUABIIBAHMLT4DLUIAixha4I6/QXt9dkuQgC5LtltUK1ZZXxzoIMsyPeiK0YSxWt4MK65ZN7nnG7DY66gcfRFP17eYHYl41KTjJWNIq3kGXnWXLioBvAzN+dj/GV3JnAECH0z8+AbqYZFF53/JKT6f1szBNVsIm/G14nzmsDrLGNXYTi8/qeIGWo7JEhfDDJJUG9iSgnLtVav38Dtl7zMvHq7YK5az5t0BLGGIIli8Bo5FQOfKHNgVPw0Ths2CNkz117xQx/EKyTp8xlND/Re/mTwqBMpAVVKG+fJx54qMyHhI5kkm3H4KdRPYTHDtu2cjImBEBMt9CE9PKHTbYMXoInVJAa8w=";
|
||
|
||
boolean boo = api.detachedVerifyAll(3, plain.getBytes(), signed);
|
||
System.out.println("RSA大数据detach验签:"+boo);
|
||
plain.getBytes("UTF-8");
|
||
|
||
|
||
}
|
||
|
||
@Test
|
||
public void p1Test() throws UnsupportedEncodingException {
|
||
|
||
// 调试模式
|
||
// System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||
// 建立连接
|
||
String certDn ="C=CN,O=Sunyard,OU=8001,CN=8001";
|
||
String DN = "C=CN,OU=eves,CN=jindiancloud";
|
||
String Sm2DN="C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
|
||
//设置连接
|
||
SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161").setPort(8889).setTimeout(3000);
|
||
SydApi4j api = (SydApi4j) builder.build();
|
||
byte[] oData = new byte[10];
|
||
//p1签名
|
||
byte[] sign = api.SYD_NakedSignAll(4,oData, Sm2DN);
|
||
// System.out.println("p1签名:"+ Util.bytes2HexString(sign));
|
||
String base64Sign = Util.encodeBase64(sign);
|
||
System.out.println("p1签名:"+ base64Sign);
|
||
|
||
// boolean pass = api.SYD_NakedVerifyAll(4,oData,sign, Sm2DN);
|
||
// System.out.println("验签结果 " + pass);
|
||
//
|
||
// String certByDn = api.getCertByDn(Sm2DN,0);
|
||
// X509 x509 = api.GetX509CertInfo(certByDn);
|
||
// byte[] pubKey = x509.getPubKey();
|
||
// System.out.println("公钥:"+Util.bytes2HexString(pubKey));
|
||
//
|
||
// String s = api.SYD_SM2_Sign_HA("8012", 1, pubKey, oData);
|
||
// System.out.println("公钥签名:"+s);
|
||
//
|
||
// hihi
|
||
|
||
String sign2 ="svVyVaA6Og8QCWagGBdohDuIh/Lhb34Lv6Kc+3OE0GVVPdYxi9+zM6IBq6ZxEjuyIRPnxy1GCdye5I9hEOqZuQ==";
|
||
byte[] bytes = SYMUtil.base64Sign2DerSign(sign2);
|
||
System.out.println(Util.bytes2HexString(bytes));
|
||
//byte[] bytes2 = SYMUtil.base64SignAsDerSign(sign2);
|
||
byte[] bytes2 = SYMUtil.base64SignAsDerSign(Util.encodeBase64(bytes));
|
||
System.out.println(Util.bytes2HexString(bytes2));
|
||
|
||
List<String> allCert = api.getAllCert();
|
||
System.out.println(allCert);
|
||
|
||
// String Data= "<MainBody>\n" +
|
||
// " <MsgId>\n" +
|
||
// " <Id>400027000000000202305300000000931</Id>\n" +
|
||
// " <CreDtTm>2023-05-30T18:04:12</CreDtTm>\n" +
|
||
// " </MsgId>\n" +
|
||
// " <ReqMsgInf><NES002><MsgId><Id>400027000000000202305300000000931</Id><CreDtTm>2023-05-30T18:06:46</CreDtTm></MsgId><DwrInf><AppBrId>400027</AppBrId><NoDrtPtcptInf><Name>日照德润建筑工程有限公司</Name><SocCode>91371100773158280D</SocCode><DistTp>DT02</DistTp><BrAcctInf><AcctName>日照德润建筑工程有限公司</AcctName><Acct>803011301421013273</Acct><OpenBrId>000041816</OpenBrId></BrAcctInf></NoDrtPtcptInf></DwrInf><SgntrMk><PrxySgntr>PS01</PrxySgntr><PtcptSgntr>3300000009831853</PtcptSgntr></SgntrMk><DraftBasicInf><CdNo>731346340004320230530000114152</CdNo><CdRange>000000000001,000002000000</CdRange><CdAmt Ccy=\"CNY\">20000.00</CdAmt><StdAmt Ccy=\"CNY\">0.01</StdAmt></DraftBasicInf><BusiInf><Dt>2023-05-30</Dt><BusiCategory>BC02</BusiCategory><UcondlConsgnmtMrk>CC00</UcondlConsgnmtMrk></BusiInf></NES002></ReqMsgInf>\n" +
|
||
// " <AutoSend>0</AutoSend>\n" +
|
||
// " <DraftBasicInf>\n" +
|
||
// " <CdNo>731346340004320230530000114152</CdNo>\n" +
|
||
// " <CdRange>000000000001,000002000000</CdRange>\n" +
|
||
// " <CdAmt Ccy=\"CNY\">20000.00</CdAmt>\n" +
|
||
// " <StdAmt Ccy=\"CNY\">0.01</StdAmt>\n" +
|
||
// " </DraftBasicInf>\n" +
|
||
// " <DraftInf>\n" +
|
||
// " <CdMedia>ME02</CdMedia>\n" +
|
||
// " <CdType>AC02</CdType>\n" +
|
||
// " <CdSource>CS03</CdSource>\n" +
|
||
// " <IssDt>2023-05-30</IssDt>\n" +
|
||
// " <DueDt>2023-05-31</DueDt>\n" +
|
||
// " </DraftInf>\n" +
|
||
// "</MainBody>";
|
||
//
|
||
// String Data2 ="";
|
||
// String pk= "A0IABNTSZikiGRMscOVhIvGntbsvhz+fe8y/WqFSc10IwiAs6vuAYaN/RJ5/cFHDsC08I+vJOiiRFZPRe3vgAHad8Hs=";
|
||
// String sign2 ="MEYCIQDiIjaN/OXnEwHEIoTVR8ADB47FzEI4kb9VVIe0au1gVgIhAKNqfCeu6NAs9bFF1IrJvUDYvZTKRIM1OkKDQU8trSfY";
|
||
// boolean verify_ha = api.SYD_SM2_Verify_HA(1, Util.decodeBase64(pk), Data.getBytes(), sign2);
|
||
// System.out.println("公钥验签2:"+verify_ha);
|
||
|
||
|
||
|
||
|
||
}
|
||
@Test
|
||
public void test4SLS() throws UnsupportedEncodingException {
|
||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||
String DN = "C=CN,OU=eves,CN=jindiancloud";
|
||
//设置连接
|
||
SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.161").setPort(8889).setTimeout(3000);
|
||
SydApi4j api = (SydApi4j) builder.build();
|
||
|
||
String Data ="{\"head\":{\"SrcCode\":\"C00000000002\",\"SigCerNo\":\"0000000000000001\",\"ReqTime\":\"20221115175955\",\"TranCode\":\"T1001\",\"ReqSeqNo\":\"C1002003000120221103101855000001\",\"DesCode\":\"B00000000005\"},\"body\":{\"AccNo\":\"76690188000100128\",\"RequestCode\":\"B00000000005\",\"ReceiveCode\":\"C00000000002\",\"CurrCod\":\"CNY\",\"PushEves\":\"1\",\"VouDate\":\"20221012\",\"CallUrl\":\"192.44.2.97:31003\",\"IsStore\":\"1\",\"VouNo\":\"20221103031\",\"AntiTamperSign\":\"7e0ef4b1d7cac4c15b070af3fdbb574eed51e960b998a8c67db8287691d14e74\"}}";
|
||
String base64Data="eyJoZWFkIjp7IlNyY0NvZGUiOiJDMDAwMDAwMDAwMDIiLCJTaWdDZXJObyI6IjAwMDAwMDAwMDAwMDAwMDEiLCJSZXFUaW1lIjoiMjAyMjExMTUxNzU5NTUiLCJUcmFuQ29kZSI6IlQxMDAxIiwiUmVxU2VxTm8iOiJDMTAwMjAwMzAwMDEyMDIyMTEwMzEwMTg1NTAwMDAwMSIsIkRlc0NvZGUiOiJCMDAwMDAwMDAwMDUifSwiYm9keSI6eyJBY2NObyI6Ijc2NjkwMTg4MDAwMTAwMTI4IiwiUmVxdWVzdENvZGUiOiJCMDAwMDAwMDAwMDUiLCJSZWNlaXZlQ29kZSI6IkMwMDAwMDAwMDAwMiIsIkN1cnJDb2QiOiJDTlkiLCJQdXNoRXZlcyI6IjEiLCJWb3VEYXRlIjoiMjAyMjEwMTIiLCJDYWxsVXJsIjoiMTkyLjQ0LjIuOTc6MzEwMDMiLCJJc1N0b3JlIjoiMSIsIlZvdU5vIjoiMjAyMjExMDMwMzEiLCJBbnRpVGFtcGVyU2lnbiI6IjdlMGVmNGIxZDdjYWM0YzE1YjA3MGFmM2ZkYmI1NzRlZWQ1MWU5NjBiOTk4YThjNjdkYjgyODc2OTFkMTRlNzQifX0=";
|
||
System.out.println("原数据base64:"+Util.encodeBase64(Data.getBytes()));
|
||
|
||
String sign ="rNHjcF+QQezzrbtYRtBKSe7zyr304vtTBb+3rZHVYrzHHlW1DI6cDOdjyCdFkYQHiFsz/XfgrUIZqHA1kMgjUg==";
|
||
byte[] decode64sign = SYMUtil.base64Sign2DerSign(sign);
|
||
|
||
boolean pass = api.SYD_NakedVerifyAll(4,Data.getBytes() ,decode64sign, DN);
|
||
System.out.println("验签结果:"+pass);
|
||
|
||
|
||
|
||
}
|
||
|
||
@Test
|
||
public void test(){
|
||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||
|
||
//设置连接
|
||
SydApiBuilder builder = new SydApiBuilder().setIp("172.16.17.64");
|
||
SydApi4j api = (SydApi4j) builder.build();
|
||
|
||
String cert = "-----BEGIN CERTIFICATE-----\n" +
|
||
"MIIDcTCCAlmgAwIBAgIFEEcHQmgwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMC\n" +
|
||
"Q04xMDAuBgNVBAoTJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhv\n" +
|
||
"cml0eTEXMBUGA1UEAxMOQ0ZDQSBURVNUIE9DQTEwHhcNMjExMjEwMDgyOTA0WhcN\n" +
|
||
"MjYxMjEwMDgyOTA0WjBoMQswCQYDVQQGEwJDTjESMBAGA1UEChMJQ0ZDQSBPQ0Ex\n" +
|
||
"MQ8wDQYDVQQLEwZUUEMtUzMxGTAXBgNVBAsTEE9yZ2FuaXphdGlvbmFsLTExGTAX\n" +
|
||
"BgNVBAMTEEFSQ1U1MjkxMDAwMDA3MDEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ\n" +
|
||
"AoGBAL+kPIjcWzRwQE6Q3ydtQsDaJGMxv0At2WrIQqb9ONEvqMbQZCd69qfBvsRj\n" +
|
||
"QI/UlG3btk6P/ZBGkNc99fX43VMqPtIlVjgRozLQcQJPFbiU5cT5PPqnrxo652RU\n" +
|
||
"KNFQhwmanPjAjmZd9woc2l0BnfF92QFDPDRprS1fWLFbKPTvAgMBAAGjgbUwgbIw\n" +
|
||
"HwYDVR0jBBgwFoAUz3CdYeudfC6498sCQPcJnf4zdIAwOQYDVR0fBDIwMDAuoCyg\n" +
|
||
"KoYoaHR0cDovL3VjcmwuY2ZjYS5jb20uY24vUlNBL2NybDgzMjA1LmNybDALBgNV\n" +
|
||
"HQ8EBAMCA+gwHQYDVR0OBBYEFGey5r5CdOUDaW3KRdZ0xg19n+dhMCgGA1UdJQQh\n" +
|
||
"MB8GCCsGAQUFBwMCBggrBgEFBQcDBAYJKoZIhvcvAQEFMA0GCSqGSIb3DQEBBQUA\n" +
|
||
"A4IBAQChyjTNJUkdspDa/6sPYuZdE0/yPFcbd0ag4wLWrSCiRyV0J5BhJPIApdRT\n" +
|
||
"3kCIem2jRbq3H/W1vUYi1JeGHcrvTOOMQb9yfgCzfQLvAdv0at4zupy1uXL6uE1S\n" +
|
||
"WL1v6Vub630tJ0A45KsVESB5Fb+UZ/cvdJIMHjcYYzPw+HHH6q9e3R0QUMz3Mxpl\n" +
|
||
"DCg66HQBL/jKSl/w13QTdRPL9dSDBtpzDqZH5JQK4rbZSdFnbC2TQs+ljsKd5TCg\n" +
|
||
"52HcC92peeCXCEsb3Zw0js5nTbX+1da8FgqDQTeKIItgXBvQIRJUeelKga6opRNM\n" +
|
||
"QM0Egoc/dBdM45jVnxzpreRKzsDQ\n" +
|
||
"-----END CERTIFICATE-----";
|
||
String odata = "<?xml version=\"1.0\" encoding=\"utf-8\"?><SignData><TradeType name=\"银行账号转账\" authLevel=\"0\">BankAcctTransfer</TradeType><Timestamp>1710469760912</Timestamp><Fields><AcctType>INNERDEBIT</AcctType><PayerSubAcSeq></PayerSubAcSeq><PayerBankAcType>96</PayerBankAcType><PayerAcNo>6229539600100010640</PayerAcNo><PayerAcName>王二类</PayerAcName><PayerCurrency>156</PayerCurrency><PayeeAcNo name=\"收款人账号:\">6217788308301020599</PayeeAcNo><PayeeAcName name=\"收款人名称:\">王二类</PayeeAcName><Amount name=\"转账金额:\">1</Amount><PayeeBankCode>402/402361018886</PayeeBankCode><PayeeBankName>安徽农金</PayeeBankName><ProvinceCode></ProvinceCode><ProvinceName></ProvinceName><CityCode></CityCode><CityName></CityName><UnionDeptId></UnionDeptId><UnionDeptName></UnionDeptName><TransType>0</TransType><Remark></Remark><Fee>0.00</Fee><CRFlag>1</CRFlag><TransTypeFlag>0</TransTypeFlag><TrsRouteType>0</TrsRouteType><AddPayeeBookFlag>1</AddPayeeBookFlag></Fields></SignData>";
|
||
String signRsa = "0564FC7C0E3FDAF225295BBD0E32BF16081D561B4C262B5E095E04E828DC8AAC71723F849B615A41AA012FB9B532017D382919A498A93EAD35CB3AA80BA29510C174BF61B6E5DCEA78DF9AF7C3B80513BA82F82030347F463C03826C90CC9C207012BD456C21D9DF4E2C79EE042B8BE229EA3C40F232AF661BE63E61A07DC2A3";
|
||
|
||
try {
|
||
String rsaDn = "C=CN,O=CFCA OCA1,OU=TPC-S3,OU=Organizational-1,CN=ARCU529100000701";
|
||
boolean nakedVerify2 = api.SYD_NakedVerifyAll4NX(cert,2,odata.getBytes(),Util.hexString2Bytes(signRsa),rsaDn);
|
||
System.out.println("RSA数据验签:"+nakedVerify2 );
|
||
} catch (SydApiException e) {
|
||
e.printStackTrace();
|
||
}
|
||
|
||
|
||
|
||
}
|
||
}
|