修改部分xml文档,java类合并其他库中的接口
This commit is contained in:
@@ -8,4 +8,202 @@ import java.util.HashMap;
|
||||
*/
|
||||
public class RetWrap extends HashMap<String, Object>{
|
||||
|
||||
public static String transMsg(int retCode){
|
||||
String msg;
|
||||
switch (retCode){
|
||||
case -1:
|
||||
case -2:
|
||||
case -3:
|
||||
msg = "网络错误";
|
||||
break;
|
||||
case -4:
|
||||
msg = "返回包的序列号有误";
|
||||
break;
|
||||
case -5:
|
||||
msg = "返回包的命令码有误";
|
||||
break;
|
||||
case -6:
|
||||
msg = "输出缓冲区预留太小";
|
||||
break;
|
||||
case -25:
|
||||
msg = "输入的 HASH 值长度应该为 32 个字节";
|
||||
break;
|
||||
case -26:
|
||||
msg = "用户标识超长(应该<=16) ";
|
||||
break;
|
||||
case -27:
|
||||
msg = "数据类型不合法 ";
|
||||
break;
|
||||
case 33:
|
||||
msg = "检索的数据或密钥不存在 ";
|
||||
break;
|
||||
case 4:
|
||||
msg = "DER 编码格式错误(公钥) ";
|
||||
break;
|
||||
case 21:
|
||||
msg = "输入的数据格式错误 ";
|
||||
break;
|
||||
case 19:
|
||||
msg = "数据解密错(C3) ";
|
||||
break;
|
||||
case 2:
|
||||
msg = "签名验证错误 ";
|
||||
break;
|
||||
case 32770:
|
||||
msg = "签名验证错误(P7) ";
|
||||
break;
|
||||
case 36868:
|
||||
msg = "DN 所指向的实体不存在 ";
|
||||
break;
|
||||
case 32884:
|
||||
msg = "证书或签名数据的格式错 ";
|
||||
break;
|
||||
case 36865:
|
||||
msg = "不支持的命令";
|
||||
break;
|
||||
case 36866:
|
||||
msg = "数据库操作错误";
|
||||
break;
|
||||
case 36867:
|
||||
msg = "数据记录已经存在";
|
||||
break;
|
||||
case 36869:
|
||||
msg = "加密卡错误";
|
||||
break;
|
||||
case 36870:
|
||||
msg = "系统错误(加密数据)";
|
||||
break;
|
||||
case 36871:
|
||||
msg = "CRL文件中包含的废除证书太多(系统限制200个)";
|
||||
break;
|
||||
case 36872:
|
||||
msg = "用户证书不在此废除的证书之列";
|
||||
break;
|
||||
case 36874:
|
||||
msg = "IC卡错误";
|
||||
break;
|
||||
case 36875:
|
||||
msg = "IC卡口令验证错误,请重新连接";
|
||||
break;
|
||||
case 36876:
|
||||
msg = "IC卡编号错误,请重新连接";
|
||||
break;
|
||||
case 36877:
|
||||
msg = "IC卡角色错误,请重新连接";
|
||||
break;
|
||||
case 36878:
|
||||
msg = "IC卡初始化错误,请重新插入";
|
||||
break;
|
||||
case 36879:
|
||||
msg = "IC卡已初始化";
|
||||
break;
|
||||
case 36880:
|
||||
msg = "不是空白卡";
|
||||
break;
|
||||
case 36881:
|
||||
msg = "IC卡未初始化";
|
||||
break;
|
||||
case 32769:
|
||||
msg = "签名出错,请核对索引号";
|
||||
break;
|
||||
case 32772:
|
||||
msg = "证书过期";
|
||||
break;
|
||||
case 32773:
|
||||
msg = "该证书发行者不可信";
|
||||
break;
|
||||
case 32774:
|
||||
msg = "证书格式错";
|
||||
break;
|
||||
case 32775:
|
||||
msg = "机构ID不合法";
|
||||
break;
|
||||
case 32776:
|
||||
msg = "此证书属于根证书,不在用户证书管理范围";
|
||||
break;
|
||||
case 32777:
|
||||
msg = "产生证书请求出错";
|
||||
break;
|
||||
case 32784:
|
||||
msg = "该证书已被废弃";
|
||||
break;
|
||||
case 28673:
|
||||
msg = "随机数的时效已过";
|
||||
break;
|
||||
case 28674:
|
||||
msg = "登录超时";
|
||||
break;
|
||||
case 28675:
|
||||
msg = "登录口令错";
|
||||
break;
|
||||
case 28677:
|
||||
msg = "操作功能非法使用";
|
||||
break;
|
||||
case 28678:
|
||||
msg = "系统已签退,请重新登录";
|
||||
break;
|
||||
case 28679:
|
||||
msg = "操作权限限制";
|
||||
break;
|
||||
case 28680:
|
||||
msg = "随机数据长度超过系统的要求";
|
||||
break;
|
||||
case 28681:
|
||||
msg = "此操作员不存在";
|
||||
break;
|
||||
case 28688:
|
||||
msg = "此操作员已经存在";
|
||||
break;
|
||||
case 28689:
|
||||
msg = "该IP是本地IP,不能进行分发";
|
||||
break;
|
||||
case 24581:
|
||||
msg = "文件在设备后端读写失败";
|
||||
break;
|
||||
case 24582:
|
||||
msg = "ERROR_HANDLE_NULL";
|
||||
break;
|
||||
case 24585:
|
||||
msg = "升级文件格式有误,请核对后再操作";
|
||||
break;
|
||||
case 24592:
|
||||
msg = "命令执行过程中出现系统错误";
|
||||
break;
|
||||
case 24593:
|
||||
msg = "本功能升级已经结束,不用重复操作";
|
||||
break;
|
||||
case 24594:
|
||||
msg = "数据不合法或格式不正确";
|
||||
break;
|
||||
case 24595:
|
||||
msg = "中心标识未设,请先设置中心标识";
|
||||
break;
|
||||
case 24596:
|
||||
msg = "加密密钥不存在";
|
||||
break;
|
||||
case 24597:
|
||||
msg = "密钥应用超过10个(密钥必须索引0-9)";
|
||||
break;
|
||||
case 24598:
|
||||
msg = "行标识没有设置";
|
||||
break;
|
||||
case 24577:
|
||||
msg = "查询类型错误";
|
||||
break;
|
||||
case 24578:
|
||||
msg = "查询格式错误";
|
||||
break;
|
||||
case 24579:
|
||||
msg = "数据不合法";
|
||||
break;
|
||||
case 24580:
|
||||
msg = "系统的口令错误";
|
||||
break;
|
||||
default:
|
||||
msg = "未定义的错误";
|
||||
}
|
||||
|
||||
return msg;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,6 +20,14 @@ public interface SydApi extends SydRawApi, SydCertApi, SydCryptionApi, SydGenApi
|
||||
int NALG_SM4 = 0x01;
|
||||
int NALG_AES = 0x02;
|
||||
|
||||
//清算总行密押MAC填充模式
|
||||
byte MIYA_FULL_WEAK = 0x30;
|
||||
byte MIYA_FULL_FORCE = 0x31;
|
||||
//清算总行密押MAC长度标识
|
||||
byte MIYA_MAC_LEN_4 = 0x31;
|
||||
byte MIYA_MAC_LEN_8 = 0x32;
|
||||
byte MIYA_MAC_LEN_16 = 0x33;
|
||||
|
||||
String RET_CIPHER_KEY = "CipherKey";
|
||||
String RET_SESSION_KEY = "SessionKey";
|
||||
String RET_PUBLIC_KEY = "PublicKey";
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package com.sunyard.inf;
|
||||
|
||||
|
||||
import com.sunyard.RetWrap;
|
||||
import com.sunyard.cert.X509;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
/**
|
||||
* 证书操作相关接口
|
||||
*/
|
||||
@@ -29,6 +32,11 @@ public interface SydCertApi {
|
||||
byte[] dn
|
||||
);
|
||||
|
||||
String RSAGetPublicKeyC(
|
||||
String userId,
|
||||
int nKeyTypes
|
||||
);
|
||||
|
||||
/**
|
||||
* 通过使用者 ID 获得使用者的 SM2 公钥(DER 编码)。
|
||||
* @param userId 使用者的 ID,最大长度为 16 位数字,右对齐。
|
||||
@@ -79,4 +87,19 @@ public interface SydCertApi {
|
||||
String sign
|
||||
);
|
||||
|
||||
/**
|
||||
* 查询所有证书
|
||||
* @param dataFlag 数据包标志 0:起始包 1:中间包 2:结束包
|
||||
* @return
|
||||
*/
|
||||
RetWrap getAllCert(int dataFlag) throws UnsupportedEncodingException;
|
||||
|
||||
/**
|
||||
* 上传指定证书到加密设备
|
||||
* @param certData 证书的字节数组
|
||||
* @param organizationId 机构号的字节数组
|
||||
* @return
|
||||
*/
|
||||
RetWrap importCert(byte[] certData, byte[] organizationId);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.sunyard.inf;
|
||||
|
||||
import com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;
|
||||
import com.sunyard.RetWrap;
|
||||
|
||||
/**
|
||||
@@ -94,6 +95,77 @@ interface SydASYMApi {
|
||||
String userId,
|
||||
String pEnData
|
||||
);
|
||||
|
||||
/**
|
||||
* 使用外部私钥解密
|
||||
* @param sk
|
||||
* @param enData
|
||||
* @return
|
||||
*/
|
||||
byte[] SM2Decrypt(byte[] sk, String enData);
|
||||
|
||||
/**
|
||||
* 用指定的 RSA 私钥对指定的密文数据进行加密。
|
||||
*
|
||||
* @param publicKey 私钥串,DER 编码,HEX 格式。
|
||||
* @param pOrgData 加密的数据。
|
||||
* @return 加密的数据 base64 编码。
|
||||
*/
|
||||
String RSAEncrypt(
|
||||
String publicKey,
|
||||
byte[] pOrgData
|
||||
);
|
||||
|
||||
/**
|
||||
* 通过使用者 ID 所对应的私钥对指定的密文数据进行解密。
|
||||
*
|
||||
* @param userId 使用者的 ID,最大长度为 16 位数字,右对齐。
|
||||
* @param pEnData 加密的数据,base64 编码。
|
||||
* @return 明文数据。
|
||||
*/
|
||||
byte[] RSADecryptC(
|
||||
String userId,
|
||||
String pEnData
|
||||
) throws Base64DecodingException;
|
||||
|
||||
|
||||
/**
|
||||
* 使用外部私钥解密
|
||||
* @param sk
|
||||
* @param enData
|
||||
* @return
|
||||
*/
|
||||
public byte[] RSADecrypt(String sk, String enData) throws Base64DecodingException;
|
||||
|
||||
|
||||
/**
|
||||
* 非对称公钥加密
|
||||
* @param alg
|
||||
* @param pk
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
public byte[] encryptByPk(int alg, String pk, byte[] data);
|
||||
|
||||
|
||||
/**
|
||||
* 非对称私钥解密
|
||||
* @param alg
|
||||
* @param sk 私钥值
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
public byte[] decryptBySk(int alg, String sk, byte[] data);
|
||||
|
||||
|
||||
/**
|
||||
* 非对称私钥解密
|
||||
* @param alg
|
||||
* @param user
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
public byte[] decryptBySkC(int alg, String user, byte[] data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -10,7 +10,19 @@ public interface SydPledge {
|
||||
* @param Data 原始数据
|
||||
* @return MAC 长度为 8 的 HEX字符串
|
||||
*/
|
||||
public String GenerateMIYA(String AreaCode, int Version, int Alg, byte[] Data);
|
||||
String GenerateMIYA(String AreaCode, int Version, int Alg, byte[] Data);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param AreaCode 地区代码 6 位
|
||||
* @param Version 版本号
|
||||
* @param Alg SydApi.NALG_3DES/SydApi.NALG_SM4
|
||||
* @param Data 原始数据
|
||||
* @param fullFlag 填充类型
|
||||
* @param macLenFlag MAC 长度标识
|
||||
* @return
|
||||
*/
|
||||
String GenerateMIYA(String AreaCode, int Version, int Alg, byte[] Data, byte fullFlag, byte macLenFlag);
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -21,6 +33,19 @@ public interface SydPledge {
|
||||
* @param Data 原始数据
|
||||
* @return true=核押通过 false=核押不通过
|
||||
*/
|
||||
public boolean VerifyMIYA(String AreaCode, int Version, int Alg, String MAC, byte[] Data);
|
||||
boolean VerifyMIYA(String AreaCode, int Version, int Alg, String MAC, byte[] Data);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param AreaCode 地区代码 6 位
|
||||
* @param Version 版本号
|
||||
* @param Alg SydApi.NALG_3DES/SydApi.NALG_SM4
|
||||
* @param mac 长度为 8 的 HEX字符串
|
||||
* @param Data 原始数据
|
||||
* @param fullFlag 填充类型
|
||||
* @param macLenFlag MAC 长度标识
|
||||
* @return
|
||||
*/
|
||||
boolean VerifyMIYA(String AreaCode, int Version, int Alg, String mac, byte[] Data, byte fullFlag, byte macLenFlag);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user