删除控制台输出
This commit is contained in:
@@ -127,9 +127,10 @@ interface SydASYMApi {
|
||||
* 输入的sm2密文结构为C1C2C3格式
|
||||
* @param userId 使用者的 ID,最大长度为 16 位数字,右对齐。
|
||||
* @param enData 加密的数据,base64 编码。
|
||||
* @param keyType 密钥类型,0:签名证书, 1:加密证书。
|
||||
* @return 明文数据。
|
||||
*/
|
||||
byte[] SM2DecryptOrder(String userId, String enData);
|
||||
byte[] SM2DecryptOrder(String userId, String enData, int keyType);
|
||||
|
||||
/**
|
||||
* 用指定的 RSA 私钥对指定的密文数据进行加密。
|
||||
|
||||
@@ -4150,10 +4150,11 @@ public class SydApi4j implements SydApi {
|
||||
* 输入的sm2密文结构为C1C2C3格式
|
||||
* @param userId 使用者的 ID,最大长度为 16 位数字,右对齐。
|
||||
* @param enData 加密的数据,base64 编码。
|
||||
* @param keyType 密钥类型,0:签名证书, 1:加密证书。
|
||||
* @return 明文数据。
|
||||
*/
|
||||
@Override
|
||||
public byte[] SM2DecryptOrder(String userId, String enData) {
|
||||
public byte[] SM2DecryptOrder(String userId, String enData, int keyType) {
|
||||
//ProtocolRender render = pset.getProtocolReqRender("78");
|
||||
Proto78 proto = new Proto78();
|
||||
|
||||
@@ -4167,7 +4168,7 @@ public class SydApi4j implements SydApi {
|
||||
packet.put("header", sn.getSn().array());
|
||||
data.put("AlgorithmKey$option", 1);
|
||||
data.put("infoData", pOrgData);
|
||||
data.put("privateKeyTag", SYMUtil.genPrivateKeyMark(userId, SYMUtil.KT_ENCRYPT, "00000001"));
|
||||
data.put("privateKeyTag", SYMUtil.genPrivateKeyMark(userId, 0 == keyType ? "000" : "001", "00000001"));
|
||||
// 渲染发送
|
||||
ByteBuffer bb = proto.rend(packet);
|
||||
synchronized (this) {
|
||||
|
||||
@@ -27,7 +27,7 @@ public class ABCNorthBranch {
|
||||
String SM2PrivateKey = null;
|
||||
|
||||
// SM4密钥索引
|
||||
String SM4PrivateKeyTag = "333333333333333300A00000001";
|
||||
String SM4PrivateKeyTag = "000000000000000100011111111";
|
||||
// SM4密钥
|
||||
String SM4Key = null;
|
||||
|
||||
@@ -35,7 +35,7 @@ public class ABCNorthBranch {
|
||||
@Before
|
||||
public void before() {
|
||||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
api = (SydApi4j) new SydApi4j().connect("192.168.1.7", 8889, null, 5000);
|
||||
api = (SydApi4j) new SydApi4j().connect("61.164.40.82", 8889, null, 5000);
|
||||
|
||||
SM2PublicKey = api.SM2GetPublicKeyC(SM2PrivateKeyTag);
|
||||
SM2PrivateKey = api.SM2GetPrivateKeyC(SM2PrivateKeyTag);
|
||||
|
||||
@@ -695,43 +695,45 @@ public class TestAllMethods {
|
||||
|
||||
String msg = "1111111111111111111111";
|
||||
|
||||
/**
|
||||
* 对称密钥产生
|
||||
* @param keyType 密钥类型
|
||||
* @param solution 密钥方案(LMK) 密钥长度/LMK下加密密钥的方案。
|
||||
* @return RetWrap 包含
|
||||
* lmkKey LMK LMK加密密钥
|
||||
* keyCheck 密钥校验值
|
||||
*
|
||||
*/
|
||||
RetWrap retWrap = api.genSymmetricKey("000", 'X');
|
||||
/**
|
||||
* 对称密钥产生
|
||||
* @param keyType 密钥类型
|
||||
* @param solution 密钥方案(LMK) 密钥长度/LMK下加密密钥的方案。
|
||||
* @return RetWrap 包含
|
||||
* lmkKey LMK LMK加密密钥
|
||||
* keyCheck 密钥校验值
|
||||
*
|
||||
*/
|
||||
RetWrap retWrap = api.genSymmetricKey("000", 'S');
|
||||
|
||||
byte[] lmkKey = (byte[]) retWrap.get("lmkKey");
|
||||
byte[] lmkKey = (byte[]) retWrap.get("lmkKey");
|
||||
|
||||
String key = new String(lmkKey);
|
||||
String key = new String(lmkKey);
|
||||
|
||||
/**
|
||||
* 用输入的会话密钥,对指定报文数据进行加密处理。
|
||||
*
|
||||
* @param nAlg 算法标识.,0x00:3DES,0x01:SM4。
|
||||
* @param seesionKey 本地LMK 加密的会话密钥,HEX 格式
|
||||
* @param pINdata 要加密的报文明文。必须是 8 或16 的倍数。
|
||||
* @return 输出的报文密文, 长度为报文明文 + 16
|
||||
*/
|
||||
byte[] bytes = api.SYMEncryptDataCBC(1, key, msg.getBytes());
|
||||
System.out.println("对称密钥:" + key);
|
||||
|
||||
System.out.println("输出为: " + com.sunyard.proto.Util.bytes2HexString(bytes));
|
||||
/**
|
||||
* 用输入的会话密钥,对指定报文数据进行加密处理。
|
||||
*
|
||||
* @param nAlg 算法标识.,0x00:3DES,0x01:SM4。
|
||||
* @param seesionKey 本地LMK 加密的会话密钥,HEX 格式
|
||||
* @param pINdata 要加密的报文明文。必须是 8 或16 的倍数。
|
||||
* @return 输出的报文密文, 长度为报文明文 + 16
|
||||
*/
|
||||
byte[] bytes = api.SYMEncryptDataCBC(1, key, msg.getBytes());
|
||||
|
||||
/**
|
||||
* 用输入的会话密钥,对指定报文数据进行解密处理。
|
||||
*
|
||||
* @param nAlg 算法标识.,0x00:3DES,0x01:SM4。
|
||||
* @param seesionKey 本地LMK 加密的会话密钥,HEX 格式
|
||||
* @param pINdata 要解密的报文密文。长度必须是8 或16 的倍数。
|
||||
* @return 输出的报文明文。
|
||||
*/
|
||||
byte[] bytes1 = api.SYMDecryptDataCBC(1, key, bytes);
|
||||
System.out.println("明文:" + new String(bytes1));
|
||||
System.out.println("输出为: " + com.sunyard.proto.Util.bytes2HexString(bytes));
|
||||
|
||||
/**
|
||||
* 用输入的会话密钥,对指定报文数据进行解密处理。
|
||||
*
|
||||
* @param nAlg 算法标识.,0x00:3DES,0x01:SM4。
|
||||
* @param seesionKey 本地LMK 加密的会话密钥,HEX 格式
|
||||
* @param pINdata 要解密的报文密文。长度必须是8 或16 的倍数。
|
||||
* @return 输出的报文明文。
|
||||
*/
|
||||
byte[] bytes1 = api.SYMDecryptDataCBC(1, key, bytes);
|
||||
System.out.println("明文:" + new String(bytes1));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1725,7 +1727,7 @@ public class TestAllMethods {
|
||||
|
||||
System.out.println("加密后的数据: " + s);
|
||||
|
||||
byte[] bytes = api.SM2DecryptOrder(certId, s);
|
||||
byte[] bytes = api.SM2DecryptOrder(certId, s, SydApi.FOR_ENCRYPT);
|
||||
|
||||
System.out.println("decData:" + new String(bytes));
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ public class TestGSYH {
|
||||
"qudmZGsIQUivZDt3/73dGojVjj5L76OcJICIAHu0G242uYPY2B8zMkGw7kQ1C1xgRipEmlC1GWwMCz0";
|
||||
|
||||
/**
|
||||
* 从签名中获取证书并上载到加密机
|
||||
* 验签并从签名中获取证书并上载到加密机
|
||||
* @param orgData 待签名的原始数据
|
||||
* @param sign 签名数据
|
||||
* @return 证书信息(包含公钥字段)
|
||||
@@ -200,12 +200,12 @@ public class TestGSYH {
|
||||
// 测试通过
|
||||
// 78
|
||||
@Test
|
||||
public void testSM2DecryptOrder() {
|
||||
String userId = "1111111111111151";
|
||||
public void testSM2DecryptOrder2() {
|
||||
String userId = "8015";
|
||||
String orgData = "FfffffffffffffFfffffffffffffffff";
|
||||
|
||||
// 通过用户id获取公钥
|
||||
String publicKey = api.SM2GetPublicKeyC(userId, SydApi.FOR_ENCRYPT);
|
||||
String publicKey = api.SM2GetPublicKeyC(userId, SydApi.FOR_SIGN);
|
||||
|
||||
/**
|
||||
* 用指定的 SM2 公钥对指定的密文数据进行加密。
|
||||
@@ -223,9 +223,10 @@ public class TestGSYH {
|
||||
* 输入的sm2密文结构为C1C2C3格式
|
||||
* @param userId 使用者的 ID,最大长度为 16 位数字,右对齐。
|
||||
* @param enData 加密的数据,base64 编码。
|
||||
* @param keyType 密钥类型,0:签名证书, 1:加密证书。
|
||||
* @return 明文数据。
|
||||
*/
|
||||
byte[] bytes = api.SM2DecryptOrder(userId, s);
|
||||
byte[] bytes = api.SM2DecryptOrder(userId, s, SydApi.FOR_SIGN);
|
||||
|
||||
System.out.println("decData:" + new String(bytes));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user