添加大数据加密指令
This commit is contained in:
@@ -22,7 +22,7 @@ public class CertTest {
|
||||
public static void main(String[] args) {
|
||||
//System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
|
||||
SydApi4j api = (SydApi4j) new SydApi4j().connect("172.16.18.5", 8889, null, 1000);
|
||||
SydApi4j api = (SydApi4j) new SydApi4j().connect("192.168.1.129", 8889, null, 1000);
|
||||
try{
|
||||
List<String>dns = api.getAllCert();
|
||||
System.out.println(Arrays.toString( dns.toArray() ) );
|
||||
|
||||
@@ -8,54 +8,55 @@ import racal.sunyard.main.SydApiBuilder;
|
||||
public class TestShangqingXingye {
|
||||
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";
|
||||
private static final String pcDnEN = "C=CN,O=CFCA TEST SM2 OCA31,OU=SGE,OU=Organizational-2,CN=SGE051@7028-702821-b70280002@Z000000001@1";
|
||||
private static final String pcDnEN2 = "C=CN,O=OCA31SM2,OU=Local RA OCA31,OU=Organizational-2,CN=CFCA@sunyard@N91330108762038374D@52";
|
||||
|
||||
public static void main(String[] args) {
|
||||
//System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
long startTime = System.currentTimeMillis(); //获取开始时间
|
||||
SydApiBuilder builder = new SydApiBuilder().setIp("192.168.0.100");
|
||||
SydApiBuilder builder = new SydApiBuilder().setIp("172.1.41.214");
|
||||
SydApi4j api = (SydApi4j) builder.build();
|
||||
|
||||
try {
|
||||
|
||||
/**
|
||||
* 产生对称密钥,通过公钥加密生成数字信封,。
|
||||
* @param pcDnEN: 清算所的公钥证书
|
||||
* @param pcData: 明文数据。
|
||||
* @return RetWrap: 数字信封
|
||||
*/
|
||||
RetWrap signData = api.generateDEByDn(pcDnEN, orgDataBig);
|
||||
byte[] cpkey2 = (byte[]) signData.get("CipherKey");
|
||||
System.out.println("加密信封:" + new String(cpkey2));
|
||||
|
||||
/**
|
||||
* 接收用私钥解密数字信封,还原原文。。
|
||||
* @param pcDnEN: 清算所的公钥证书
|
||||
* @param cpkey: 数字信封。
|
||||
* @return preData: 原数据
|
||||
*/
|
||||
RetWrap oDataWrap = api.decryptDEByDN(pcDnEN, cpkey2);
|
||||
byte[] preData = (byte[]) oDataWrap.get("oData");
|
||||
System.out.println("解密信封:" + Util.bytes2HexString(preData));
|
||||
|
||||
|
||||
/**
|
||||
* 通过指定的私钥对指定的原始数据编制带公钥证书的数字签名(遵循PKCS#7),
|
||||
* @param orgData: 待签名的原始数据
|
||||
* @param pcDnEN: 签名者证书 DN
|
||||
* @return signsData: 签名数据
|
||||
*/
|
||||
String signsData = api.SYD_SM2_DetachedSign_HA(orgData2k, pcDnEN);
|
||||
System.out.println("签名数据:" + signsData);
|
||||
|
||||
/**
|
||||
* 利用清算所的公钥证书对签名数据进行验签。
|
||||
* @param dataType: 数据模式, 0:输入的数据为 HASH 后的数据, 1:输入的数据为原始数据库(本次传入1)
|
||||
* @param orgData: 待签名的原始数据
|
||||
* @param sign: 签名数据。
|
||||
*/
|
||||
boolean result = api.detachedVerify(1, orgData2k, signsData);
|
||||
System.out.println("验签结果:" + result);
|
||||
// /**
|
||||
// * 产生对称密钥,通过公钥加密生成数字信封,。
|
||||
// * @param pcDnEN: 清算所的公钥证书
|
||||
// * @param pcData: 明文数据。
|
||||
// * @return RetWrap: 数字信封
|
||||
// */
|
||||
// RetWrap signData = api.generateDEByDn(pcDnEN, orgDataBig);
|
||||
// byte[] cpkey2 = (byte[]) signData.get("CipherKey");
|
||||
// System.out.println("加密信封:" + new String(cpkey2));
|
||||
//
|
||||
// /**
|
||||
// * 接收用私钥解密数字信封,还原原文。。
|
||||
// * @param pcDnEN: 清算所的公钥证书
|
||||
// * @param cpkey: 数字信封。
|
||||
// * @return preData: 原数据
|
||||
// */
|
||||
// RetWrap oDataWrap = api.decryptDEByDN(pcDnEN, cpkey2);
|
||||
// byte[] preData = (byte[]) oDataWrap.get("oData");
|
||||
// System.out.println("解密信封:" + Util.bytes2HexString(preData));
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 通过指定的私钥对指定的原始数据编制带公钥证书的数字签名(遵循PKCS#7),
|
||||
// * @param orgData: 待签名的原始数据
|
||||
// * @param pcDnEN: 签名者证书 DN
|
||||
// * @return signsData: 签名数据
|
||||
// */
|
||||
// String signsData = api.SYD_SM2_DetachedSign_HA(orgData2k, pcDnEN);
|
||||
// System.out.println("签名数据:" + signsData);
|
||||
//
|
||||
// /**
|
||||
// * 利用清算所的公钥证书对签名数据进行验签。
|
||||
// * @param dataType: 数据模式, 0:输入的数据为 HASH 后的数据, 1:输入的数据为原始数据库(本次传入1)
|
||||
// * @param orgData: 待签名的原始数据
|
||||
// * @param sign: 签名数据。
|
||||
// */
|
||||
// boolean result = api.detachedVerify(1, orgData2k, signsData);
|
||||
// System.out.println("验签结果:" + result);
|
||||
|
||||
|
||||
/**
|
||||
@@ -67,7 +68,7 @@ public class TestShangqingXingye {
|
||||
* @param pcData: 明文数据。
|
||||
* @return pcSignData: 签名数字信封
|
||||
*/
|
||||
String pcSignData = api.SYD_SignDigitalEnvelope(pcDnEN, pcDnEN, orgData2k);
|
||||
String pcSignData = api.SYD_SignDigitalEnvelope(pcDnEN2, pcDnEN2, orgData2k);
|
||||
System.out.println("签名数字信封:" + pcSignData);
|
||||
|
||||
/**
|
||||
@@ -79,7 +80,7 @@ public class TestShangqingXingye {
|
||||
* @return pcData:原数据
|
||||
*/
|
||||
|
||||
byte[] oData = api.SYD_VerifyDigitalEnveloe(pcDnEN, pcDnEN, pcSignData);
|
||||
byte[] oData = api.SYD_VerifyDigitalEnveloe(pcDnEN2, pcDnEN2, pcSignData);
|
||||
System.out.println("原数据:" + Util.bytes2HexString(oData));
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user