本地保存

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
@@ -1,183 +0,0 @@
package com.sunyard.util;
import java.nio.ByteBuffer;
/**
* @Author:Cheney
* @Date:2023/7/27 11:16
*/
public class FrameCache {
private static ByteBuffer sm2p1;
private static ByteBuffer sm2p1v;
private static ByteBuffer rsap1;
private static ByteBuffer rsap1v;
private static ByteBuffer sm2det;
private static ByteBuffer sm2detv;
private static ByteBuffer rsadet;
private static ByteBuffer rsadetv;
private static ByteBuffer sm2detres;
public static ByteBuffer getSm2detres() {
return sm2detres;
}
public static void setSm2detres(ByteBuffer sm2detres) {
FrameCache.sm2detres = sm2detres;
}
private static String P7sign;
public static String getP7sign() {
return P7sign;
}
public static void setP7sign(String p7sign) {
P7sign = p7sign;
}
public static ByteBuffer getSm2p1() {
return sm2p1;
}
public static void setSm2p1(ByteBuffer sm2p1) {
FrameCache.sm2p1 = sm2p1;
}
public static ByteBuffer getSm2p1v() {
return sm2p1v;
}
public static void setSm2p1v(ByteBuffer sm2p1v) {
FrameCache.sm2p1v = sm2p1v;
}
public static ByteBuffer getRsap1() {
return rsap1;
}
public static void setRsap1(ByteBuffer rsap1) {
FrameCache.rsap1 = rsap1;
}
public static ByteBuffer getRsap1v() {
return rsap1v;
}
public static void setRsap1v(ByteBuffer rsap1v) {
FrameCache.rsap1v = rsap1v;
}
public static ByteBuffer getSm2det() {
return sm2det;
}
public static void setSm2det(ByteBuffer sm2det) {
FrameCache.sm2det = sm2det;
}
public static ByteBuffer getSm2detv() {
return sm2detv;
}
public static void setSm2detv(ByteBuffer sm2detv) {
FrameCache.sm2detv = sm2detv;
}
public static ByteBuffer getRsadet() {
return rsadet;
}
public static void setRsadet(ByteBuffer rsadet) {
FrameCache.rsadet = rsadet;
}
public static ByteBuffer getRsadetv() {
return rsadetv;
}
public static void setRsadetv(ByteBuffer rsadetv) {
FrameCache.rsadetv = rsadetv;
}
public static ByteBuffer getSm2att() {
return sm2att;
}
public static void setSm2att(ByteBuffer sm2att) {
FrameCache.sm2att = sm2att;
}
public static ByteBuffer getSm2attv() {
return sm2attv;
}
public static void setSm2attv(ByteBuffer sm2attv) {
FrameCache.sm2attv = sm2attv;
}
public static ByteBuffer getRsaatt() {
return rsaatt;
}
public static void setRsaatt(ByteBuffer rsaatt) {
FrameCache.rsaatt = rsaatt;
}
public static ByteBuffer getRsaattv() {
return rsaattv;
}
public static void setRsaattv(ByteBuffer rsaattv) {
FrameCache.rsaattv = rsaattv;
}
public static ByteBuffer getSm2gen() {
return sm2gen;
}
public static void setSm2gen(ByteBuffer sm2gen) {
FrameCache.sm2gen = sm2gen;
}
public static ByteBuffer getSm2den() {
return sm2den;
}
public static void setSm2den(ByteBuffer sm2den) {
FrameCache.sm2den = sm2den;
}
public static ByteBuffer getRsagen() {
return rsagen;
}
public static void setRsagen(ByteBuffer rsagen) {
FrameCache.rsagen = rsagen;
}
public static ByteBuffer getRsaden() {
return rsaden;
}
public static void setRsaden(ByteBuffer rsaden) {
FrameCache.rsaden = rsaden;
}
private static ByteBuffer sm2att;
private static ByteBuffer sm2attv;
private static ByteBuffer rsaatt;
private static ByteBuffer rsaattv;
private static ByteBuffer sm2gen;
private static ByteBuffer sm2den;
private static ByteBuffer rsagen;
private static ByteBuffer rsaden;
// private static ByteBuffer res;
}
+332 -416
View File
@@ -442,29 +442,27 @@ public class SydApi4j implements SydApi {
Proto8003 proto = new Proto8003();
PacketSN sn = PacketSN.gen();
byte[] dn = new byte[256];
byte[] s = null;
try {
sCertDN = DnUtil.verifyDn(sCertDN);
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException var16) {
var16.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
HashMap<String, Object> packet = new HashMap();
HashMap<String, Object> data = new HashMap();
packet.put("data", data);
packet.put("header", sn.getSn().array());
data.put("signatureDataType$option", 1);
data.put("DN", dn);
data.put("signData", orgData);
data.put("rFlag", 'P');
data.put("hash", hash);
ByteBuffer bb = proto.rend(packet);
byte[] dn = new byte[256];
byte[] s = null;
try {
sCertDN = DnUtil.verifyDn(sCertDN);
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException var16) {
var16.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
HashMap<String, Object> packet = new HashMap();
HashMap<String, Object> data = new HashMap();
packet.put("data", data);
packet.put("header", sn.getSn().array());
data.put("signatureDataType$option", 1);
data.put("DN", dn);
data.put("signData", orgData);
data.put("rFlag", 'P');
data.put("hash", hash);
ByteBuffer bb = proto.rend(packet);
synchronized(this) {
bb = this.syncRead(this.syncSend(bb));
@@ -523,49 +521,41 @@ public class SydApi4j implements SydApi {
Proto8003 proto = new Proto8003();
PacketSN sn = PacketSN.gen();
HashMap<String, Object> packet = new HashMap<String, Object>();
ByteBuffer bb = null;
if (null ==FrameCache.getRsap1()) {
byte[] dn = new byte[256];
byte[] s = null;
try {
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
if (rFlag == 1) {
// MD5
data.put("rFlag", 'M');
}
if (rFlag == 2) {
// SHA-1
data.put("rFlag", 'S');
}
if (rFlag == 3) {
// SHA-256
data.put("rFlag", 'R');
}
data.put("signatureDataType$option", 1);
data.put("DN", dn);
data.put("signData", orgData);
data.put("hash", hash);
// 渲染发送
bb = proto.rend(packet);
FrameCache.setRsap1(bb);
}else{
bb = FrameCache.getRsap1();
byte[] dn = new byte[256];
byte[] s = null;
try {
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
if (rFlag == 1) {
// MD5
data.put("rFlag", 'M');
}
if (rFlag == 2) {
// SHA-1
data.put("rFlag", 'S');
}
if (rFlag == 3) {
// SHA-256
data.put("rFlag", 'R');
}
data.put("signatureDataType$option", 1);
data.put("DN", dn);
data.put("signData", orgData);
data.put("hash", hash);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
@@ -600,31 +590,30 @@ public class SydApi4j implements SydApi {
PacketSN sn = PacketSN.gen();
HashMap<String, Object> packet = new HashMap();
sign = ASN1Util.alignSignDer(sign);
byte[] dn = new byte[256];
byte[] s = null;
sign = ASN1Util.alignSignDer(sign);
byte[] dn = new byte[256];
byte[] s = null;
try {
sCertDN = DnUtil.verifyDn(sCertDN);
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException var18) {
var18.printStackTrace();
}
try {
sCertDN = DnUtil.verifyDn(sCertDN);
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException var18) {
var18.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
HashMap<String, Object> data = new HashMap();
packet.put("data", data);
System.arraycopy(s, 0, dn, 0, s.length);
HashMap<String, Object> data = new HashMap();
packet.put("data", data);
packet.put("header", sn.getSn().array());
data.put("signatureDataType$option", 1);
data.put("DN", dn);
data.put("odata", orgData);
data.put("rFlag", 'P');
data.put("hash", hash);
data.put("signature", sign);
data.put("returnSign$option", 0);
ByteBuffer bb = proto.rend(packet);
packet.put("header", sn.getSn().array());
data.put("signatureDataType$option", 1);
data.put("DN", dn);
data.put("odata", orgData);
data.put("rFlag", 'P');
data.put("hash", hash);
data.put("signature", sign);
data.put("returnSign$option", 0);
ByteBuffer bb = proto.rend(packet);
synchronized(this) {
byte[] b = this.syncSend(bb);
@@ -680,48 +669,41 @@ public class SydApi4j implements SydApi {
Proto8004 proto = new Proto8004();
HashMap<String, Object> packet = new HashMap<String, Object>();
PacketSN sn = PacketSN.gen();
ByteBuffer bb =null;
if (null == FrameCache.getRsap1v()) {
byte[] dn = new byte[256];
byte[] s = null;
byte[] dn = new byte[256];
byte[] s = null;
try {
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
if (rFlag == 1) {
data.put("rFlag", 'M');
}
if (rFlag == 2) {
data.put("rFlag", 'S');
}
if (rFlag == 3) {
data.put("rFlag", 'R');
}
data.put("signatureDataType$option", 1);
data.put("DN", dn);
data.put("odata", orgData);
data.put("signature", sign);
data.put("hash", hashData);
data.put("returnSign$option", 0);
// 渲染发送
bb = proto.rend(packet);
FrameCache.setRsap1v(bb);
}else{
bb = FrameCache.getRsap1v();
try {
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
if (rFlag == 1) {
data.put("rFlag", 'M');
}
if (rFlag == 2) {
data.put("rFlag", 'S');
}
if (rFlag == 3) {
data.put("rFlag", 'R');
}
data.put("signatureDataType$option", 1);
data.put("DN", dn);
data.put("odata", orgData);
data.put("signature", sign);
data.put("hash", hashData);
data.put("returnSign$option", 0);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
byte[] b = syncSend(bb);
@@ -896,71 +878,58 @@ public class SydApi4j implements SydApi {
Proto8005 proto = new Proto8005();
HashMap<String, Object> packet = new HashMap<String, Object>();
PacketSN sn = PacketSN.gen();
ByteBuffer bb = null;
if (null == FrameCache.getSm2det()) {
byte[] dn = new byte[256];
byte[] s = null;
try {
sCertDN = verifyDn(sCertDN);
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
data.put("DN", dn);
if (dataType == DATA_HASH) {
data.put("hashFlag", 'P');
data.put("hash", orgData);
} else {
data.put("infoData", orgData);
}
// 渲染发送
bb = proto.rend(packet);
FrameCache.setSm2det(bb);
}else{
bb = FrameCache.getSm2det();
byte[] dn = new byte[256];
byte[] s = null;
try {
sCertDN = verifyDn(sCertDN);
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
data.put("DN", dn);
if (dataType == DATA_HASH) {
data.put("hashFlag", 'P');
data.put("hash", orgData);
} else {
data.put("infoData", orgData);
}
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
}
//
if (null == FrameCache.getP7sign()) {
Packet p = proto.parse(bb);
Map<String, Object> ret = p.toMap();
if (
!Arrays.equals(sn.getSn().array(), ((PacketSection) ret.get("header")).getBytes())
) {
throw new SydApiException("包序号不匹配", -4);
}
ret = (Map<String, Object>) ret.get("data");
PacketSection error = (PacketSection) ret.get("error");
byte[] be = error.getBytes();
if (
(0 != (be[0] ^ be[1]))) {
throw new SydApiException(error.getInfo(), error.autoInt());
}
String signature = ((PacketSection) ret.get("signature")).getString();
FrameCache.setP7sign(signature);
return signature;
}else{
return FrameCache.getP7sign();
Packet p = proto.parse(bb);
Map<String, Object> ret = p.toMap();
if (
!Arrays.equals(sn.getSn().array(), ((PacketSection) ret.get("header")).getBytes())
) {
throw new SydApiException("包序号不匹配", -4);
}
ret = (Map<String, Object>) ret.get("data");
PacketSection error = (PacketSection) ret.get("error");
byte[] be = error.getBytes();
if (
(0 != (be[0] ^ be[1]))) {
throw new SydApiException(error.getInfo(), error.autoInt());
}
String signature = ((PacketSection) ret.get("signature")).getString();
return signature;
}
@@ -972,30 +941,24 @@ public class SydApi4j implements SydApi {
HashMap<String, Object> packet = new HashMap<String, Object>();
PacketSN sn = PacketSN.gen();
ByteBuffer bb =null;
if (null == FrameCache.getSm2detv()) {
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
packet.put("header", sn.getSn().array());
if (dataType == DATA_HASH) {
data.put("hashFlag", 'P');
data.put("hash", orgData);
} else {
data.put("originData", orgData);
}
data.put("signData", sign.getBytes());
data.put("flag$option", 0);
// 渲染发送
bb = proto.rend(packet);
FrameCache.setSm2detv(bb);
}else{
bb = FrameCache.getSm2detv();
if (dataType == DATA_HASH) {
data.put("hashFlag", 'P');
data.put("hash", orgData);
} else {
data.put("originData", orgData);
}
data.put("signData", sign.getBytes());
data.put("flag$option", 0);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
@@ -1100,46 +1063,39 @@ public class SydApi4j implements SydApi {
// 填充数据
HashMap<String, Object> packet = new HashMap<String, Object>();
PacketSN sn = PacketSN.gen();
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
ByteBuffer bb= null;
if(null == FrameCache.getRsadetv()) {
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
if (rFlag == 1) {//RSA证书
data.put("rFlag", 'D');
}
if (rFlag == 2) {
data.put("rFlag", 'O');
}
if (rFlag == 3) {
data.put("rFlag", 'U');
}
packet.put("header", sn.getSn().array());
if (dataType == DATA_HASH) {
if (rFlag == 1) {//RSA证书
data.put("rFlag", 'D');
data.put("hashFlag", 'M');
}
if (rFlag == 2) {
data.put("rFlag", 'O');
data.put("hashFlag", 'S');
}
if (rFlag == 3) {
data.put("rFlag", 'U');
data.put("hashFlag", 'R');
}
packet.put("header", sn.getSn().array());
if (dataType == DATA_HASH) {
if (rFlag == 1) {//RSA证书
data.put("hashFlag", 'M');
}
if (rFlag == 2) {
data.put("hashFlag", 'S');
}
if (rFlag == 3) {
data.put("hashFlag", 'R');
}
data.put("hash", orgData);
} else {
data.put("originData", orgData);
}
data.put("signData", sign.getBytes());
data.put("flag$option", 0);
// 渲染发送
bb = proto.rend(packet);
FrameCache.setRsadetv(bb);
}else{
bb = FrameCache.getRsadet();
data.put("hash", orgData);
} else {
data.put("originData", orgData);
}
data.put("signData", sign.getBytes());
data.put("flag$option", 0);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
@@ -1353,58 +1309,52 @@ public class SydApi4j implements SydApi {
Proto8005 proto = new Proto8005();
HashMap<String, Object> packet = new HashMap<String, Object>();
PacketSN sn = PacketSN.gen();
ByteBuffer bb = null;
if ( null == FrameCache.getRsadet()) {
byte[] dn = new byte[256];
byte[] s = null;
try {
sCertDN = verifyDn(sCertDN);
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
byte[] dn = new byte[256];
byte[] s = null;
try {
sCertDN = verifyDn(sCertDN);
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
if (rFlag == 1) {//RSA证书加签方法
data.put("rFlag", 'M');
packet.put("header", sn.getSn().array());
if (rFlag == 1) {//RSA证书加签方法
data.put("rFlag", 'M');
}
if (rFlag == 2) {
data.put("rFlag", 'S');
}
if (rFlag == 3) {
data.put("rFlag", 'R');
}
data.put("DN", dn);
if (dataType == DATA_HASH) {
if (rFlag == 1) {
data.put("hashFlag", 'M');
}
if (rFlag == 2) {
data.put("rFlag", 'S');
data.put("hashFlag", 'S');
}
if (rFlag == 3) {
data.put("rFlag", 'R');
data.put("hashFlag", 'R');
}
data.put("DN", dn);
if (dataType == DATA_HASH) {
if (rFlag == 1) {
data.put("hashFlag", 'M');
}
if (rFlag == 2) {
data.put("hashFlag", 'S');
}
if (rFlag == 3) {
data.put("hashFlag", 'R');
}
data.put("hash", orgData);
} else {
data.put("infoData", orgData);
}
// 渲染发送
bb = proto.rend(packet);
FrameCache.setRsadet(bb);
}else{
bb = FrameCache.getRsadet();
data.put("hash", orgData);
} else {
data.put("infoData", orgData);
}
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
@@ -3184,36 +3134,32 @@ public class SydApi4j implements SydApi {
// 填充数据
PacketSN sn = PacketSN.gen();
HashMap<String, Object> packet = new HashMap<String, Object>();
ByteBuffer bb =null;
if (null == FrameCache.getRsagen()) {
packet.put("header", sn.getSn().array());
HashMap<String, Object> data = new HashMap<String, Object>();
data.put("alg$option", alg);
data.put("certificateModel$option", model);
if (model == 0) {
data.put("certificateSn", certSerial);
} else {
data.put("certificateDn", certSerial);
}
packet.put("header", sn.getSn().array());
HashMap<String, Object> data = new HashMap<String, Object>();
data.put("alg$option", alg);
data.put("certificateModel$option", model);
if (alg == 3 || alg == 4) {
data.put("orgData", oData);
}
data.put("keyType", "X");
if (alg == 4) {
data.put("keyType", "L");
}
packet.put("data", data);
// 渲染发送 耗时长
bb = proto.rend(packet);
FrameCache.setRsagen(bb);
}else{
bb = FrameCache.getRsagen();
if (model == 0) {
data.put("certificateSn", certSerial);
} else {
data.put("certificateDn", certSerial);
}
if (alg == 3 || alg == 4) {
data.put("orgData", oData);
}
data.put("keyType", "X");
if (alg == 4) {
data.put("keyType", "L");
}
packet.put("data", data);
// 渲染发送 耗时长
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
@@ -3843,31 +3789,25 @@ public class SydApi4j implements SydApi {
PacketSN sn = PacketSN.gen();
HashMap<String, Object> packet = new HashMap<String, Object>();
ByteBuffer bb =null ;
if(null == FrameCache.getSm2den()) {
packet.put("header", sn.getSn().array());
HashMap<String, Object> data = new HashMap<String, Object>();
if (pFlag) {
data.put("pFlag", "P");
}
data.put("certificateModel$option", model);
if (model == 0) {
data.put("certificateSn", certSerial);
} else {
data.put("certificateDn", certSerial);
}
data.put("key", pCipherKey);
data.put("keyType", "X");
packet.put("data", data);
// 渲染发送
bb = proto.rend(packet);
FrameCache.setSm2den(bb);
packet.put("header", sn.getSn().array());
HashMap<String, Object> data = new HashMap<String, Object>();
if (pFlag) {
data.put("pFlag", "P");
}
else{
bb = FrameCache.getSm2den();
data.put("certificateModel$option", model);
if (model == 0) {
data.put("certificateSn", certSerial);
} else {
data.put("certificateDn", certSerial);
}
data.put("key", pCipherKey);
data.put("keyType", "X");
packet.put("data", data);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
@@ -3918,31 +3858,26 @@ public class SydApi4j implements SydApi {
PacketSN sn = PacketSN.gen();
HashMap<String, Object> packet = new HashMap<String, Object>();
ByteBuffer bb =null;
if (null == FrameCache.getRsaden()) {
packet.put("header", sn.getSn().array());
HashMap<String, Object> data = new HashMap<String, Object>();
data.put("pFlag", "R");
if (!pFlag) {
data.put("pFlag", "Q");
}
data.put("certificateModel$option", model);
if (model == 0) {
data.put("certificateSn", certSerial);
} else {
data.put("certificateDn", certSerial);
}
data.put("key", pCipherKey);
data.put("keyType", "L");
packet.put("data", data);
// 渲染发送
bb = proto.rend(packet);
FrameCache.setRsaden(bb);
}else{
bb = FrameCache.getRsaden();
packet.put("header", sn.getSn().array());
HashMap<String, Object> data = new HashMap<String, Object>();
data.put("pFlag", "R");
if (!pFlag) {
data.put("pFlag", "Q");
}
data.put("certificateModel$option", model);
if (model == 0) {
data.put("certificateSn", certSerial);
} else {
data.put("certificateDn", certSerial);
}
data.put("key", pCipherKey);
data.put("keyType", "L");
packet.put("data", data);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
@@ -12104,45 +12039,38 @@ public class SydApi4j implements SydApi {
Proto8018 proto = new Proto8018();
HashMap<String, Object> packet = new HashMap<String, Object>();
PacketSN sn = PacketSN.gen();
ByteBuffer bb =null;
if(null == FrameCache.getRsaatt()) {
byte[] dn = new byte[256];
byte[] s = null;
try {
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
if (rFlag == 1) {
data.put("rFlag", 'M');
}
if (rFlag == 2) {
data.put("rFlag", 'S');
}
if (rFlag == 3) {
data.put("rFlag", 'R');
}
data.put("DN", dn);
data.put("infoData", orgData);
// 渲染发送
bb = proto.rend(packet);
FrameCache.setRsaatt(bb);
}else{
bb = FrameCache.getRsaatt();
byte[] dn = new byte[256];
byte[] s = null;
try {
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
if (rFlag == 1) {
data.put("rFlag", 'M');
}
if (rFlag == 2) {
data.put("rFlag", 'S');
}
if (rFlag == 3) {
data.put("rFlag", 'R');
}
data.put("DN", dn);
data.put("infoData", orgData);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
@@ -12176,35 +12104,28 @@ public class SydApi4j implements SydApi {
Proto8018 proto = new Proto8018();
HashMap<String, Object> packet = new HashMap<String, Object>();
PacketSN sn = PacketSN.gen();
ByteBuffer bb =null;
if (null == FrameCache.getSm2att()) {
byte[] dn = new byte[256];
byte[] s = null;
try {
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
data.put("DN", dn);
data.put("infoData", orgData);
// 渲染发送
bb = proto.rend(packet);
FrameCache.setSm2att(bb);
}else{
bb = FrameCache.getSm2att();
byte[] dn = new byte[256];
byte[] s = null;
try {
s = sCertDN.getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.arraycopy(s, 0, dn, 0, s.length);
// 填充数据
HashMap<String, Object> data = new HashMap<String, Object>();
packet.put("data", data);
packet.put("header", sn.getSn().array());
data.put("DN", dn);
data.put("infoData", orgData);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析
bb = syncRead(syncSend(bb));
@@ -12250,21 +12171,16 @@ public class SydApi4j implements SydApi {
HashMap<String, Object> packet = new HashMap<String, Object>();
HashMap<String, Object> data = new HashMap<String, Object>();
PacketSN sn = PacketSN.gen();
ByteBuffer bb = null;
if(null == FrameCache.getSm2attv()) {
packet.put("data", data);
packet.put("header", sn.getSn().array());
packet.put("data", data);
data.put("signData", sign);
data.put("flag$option", 0);
packet.put("header", sn.getSn().array());
// 渲染发送
bb = proto.rend(packet);
FrameCache.setSm2attv(bb);
}else{
bb = FrameCache.getSm2attv();
}
data.put("signData", sign);
data.put("flag$option", 0);
// 渲染发送
ByteBuffer bb = proto.rend(packet);
synchronized (this) {
// 响应解析