示例代码
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
package com.sunyard.sydapi.test;
|
||||
|
||||
import com.sunyard.RetWrap;
|
||||
import com.sunyard.SydApi;
|
||||
import com.sunyard.proto.Util;
|
||||
import racal.sunyard.main.SydApi4j;
|
||||
import racal.sunyard.main.SydApiBuilder;
|
||||
|
||||
public class TestShangqingXingye {
|
||||
private static final String orgData = "12345678";
|
||||
private static final String pcDnEN = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
|
||||
private static final byte[] orgDataBig = new byte[ 5 * 1024];
|
||||
private static final byte[] orgData2k = new byte[ 2 * 1024];
|
||||
private static final String pcDnEN = "C=CN,O=CFCA OCA1,OU=YCCA,OU=Individual-2,CN=YCCA@黄金交易所@Zhuangj@1";
|
||||
|
||||
public static void main(String[] args) {
|
||||
//System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
@@ -24,11 +24,9 @@ public class TestShangqingXingye {
|
||||
* @param pcData: 明文数据。
|
||||
* @return RetWrap: 数字信封
|
||||
*/
|
||||
RetWrap signData = api.generateDEByDn(pcDnEN, orgData.getBytes("GBK"));
|
||||
// String cpkey = (String)signData.get("CipherKey");
|
||||
RetWrap signData = api.generateDEByDn(pcDnEN, orgDataBig);
|
||||
byte[] cpkey2 = (byte[]) signData.get("CipherKey");
|
||||
// System.out.println("加密信封:" + cpkey);
|
||||
System.out.println("加密信封:" + cpkey2);
|
||||
System.out.println("加密信封:" + new String(cpkey2));
|
||||
|
||||
/**
|
||||
* 接收用私钥解密数字信封,还原原文。。
|
||||
@@ -36,9 +34,8 @@ public class TestShangqingXingye {
|
||||
* @param cpkey: 数字信封。
|
||||
* @return preData: 原数据
|
||||
*/
|
||||
//RetWrap oDataWrap = api.decryptDEByDN (pcDnEN,cpkey.getBytes());
|
||||
RetWrap oDataWrap = api.decryptDEByDN (pcDnEN,cpkey2);
|
||||
byte[] preData = (byte[]) oDataWrap.get("oData");
|
||||
RetWrap oDataWrap = api.decryptDEByDN(pcDnEN, cpkey2);
|
||||
byte[] preData = (byte[]) oDataWrap.get("oData");
|
||||
System.out.println("解密信封:" + Util.bytes2HexString(preData));
|
||||
|
||||
|
||||
@@ -48,7 +45,7 @@ public class TestShangqingXingye {
|
||||
* @param pcDnEN: 签名者证书 DN
|
||||
* @return signsData: 签名数据
|
||||
*/
|
||||
String signsData = api.SYD_SM2_DetachedSign_HA (orgData.getBytes("GBK"),pcDnEN);
|
||||
String signsData = api.SYD_SM2_DetachedSign_HA(orgData2k, pcDnEN);
|
||||
System.out.println("签名数据:" + signsData);
|
||||
|
||||
/**
|
||||
@@ -57,14 +54,10 @@ public class TestShangqingXingye {
|
||||
* @param orgData: 待签名的原始数据
|
||||
* @param sign: 签名数据。
|
||||
*/
|
||||
boolean result = api.detachedVerify (1,orgData.getBytes("GBK"),signsData);
|
||||
boolean result = api.detachedVerify(1, orgData2k, signsData);
|
||||
System.out.println("验签结果:" + result);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 产生对称密钥,通过清算所公钥证书加密生成数字信封。
|
||||
* 利用会员的私钥证书对数据进行签名
|
||||
@@ -74,7 +67,7 @@ public class TestShangqingXingye {
|
||||
* @param pcData: 明文数据。
|
||||
* @return pcSignData: 签名数字信封
|
||||
*/
|
||||
String pcSignData = api.SYD_SignDigitalEnvelope(pcDnEN, pcDnEN, orgData.getBytes("GBK"));
|
||||
String pcSignData = api.SYD_SignDigitalEnvelope(pcDnEN, pcDnEN, orgData2k);
|
||||
System.out.println("签名数字信封:" + pcSignData);
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user