全局接口
This commit is contained in:
parent
d235d02b70
commit
2b017885b4
10
pom.xml
10
pom.xml
@ -27,5 +27,15 @@
|
||||
|
||||
<build>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
package com.sunyard.sge.database;
|
||||
|
||||
public class LongDataReturn<T, T1> {
|
||||
}
|
||||
@ -4,10 +4,8 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* 上海黄金交易所 - 数据库加密方案
|
||||
*
|
||||
*/
|
||||
public interface SydApi
|
||||
{
|
||||
public interface SydApi {
|
||||
|
||||
/**
|
||||
* 建立到指定地址和端口号的签名服务器的 TCP/IP 连接,返回 API 操作对象 SydApi。
|
||||
@ -33,12 +31,77 @@ public interface SydApi
|
||||
void SYD_Disconnect_Ex();
|
||||
|
||||
|
||||
// /**
|
||||
// * 对指定数据进行SM4加解密处理。
|
||||
// *
|
||||
// * @param iKeyIndex 会话密钥索引值
|
||||
// * @param pcData 报文密文或明文。
|
||||
// * @param iFlag 加解密标识,0:表示ECB解密;1:表示ECB加密
|
||||
// * @return 报文明文或密文。
|
||||
// */
|
||||
// byte[] SYD_SM4_ShortData(
|
||||
// int iKeyIndex,
|
||||
// byte[] pcData,
|
||||
// int iFlag
|
||||
// );
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 对指定批量数据进行SM4加解密处理。
|
||||
// *
|
||||
// * @param iKeyIndex 会话密钥索引值数组
|
||||
// * @param pcData 要加密的报文明文或密文数组。
|
||||
// * @param iFlag 加解密标识,0:表示ECB解密;1:表示ECB加密
|
||||
// * @return List<byte [ ]>对象,List 的长度与输入参数 pcData 的长度相同。
|
||||
// */
|
||||
// List<byte[]> SYD_SM4_BatchData(
|
||||
// int[] iKeyIndex,
|
||||
// List<byte[]> pcData,
|
||||
// int iFlag
|
||||
// );
|
||||
|
||||
|
||||
/**
|
||||
* 对指定数据进行SM4加解密处理。
|
||||
* @param iKeyIndex 会话密钥索引值
|
||||
* @param pcData 报文密文或明文。
|
||||
* @param iFlag 加解密标识,0:表示ECB解密;1:表示ECB加密
|
||||
* @return 报文明文或密文。
|
||||
* 短数据hash计算,对指定数据进行SM3哈希处理
|
||||
*
|
||||
* @param pcData:输入。原始数据。
|
||||
* @return 哈希值(固定长度32字节)转HEX 字符串格式
|
||||
*/
|
||||
String SYD_SM3_Hash_ShortData(
|
||||
byte[] pcData
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* 长数据hash计算,对指定数据进行SM3 哈希处理。
|
||||
*
|
||||
* @param pcData:输入。要加密的数据。
|
||||
* @param iPkgNum:输入。包序号:0 仅一包 pcHash为输出hash结果
|
||||
* 1 第一包 输出过程数据pcProcData
|
||||
* 2 中间包 pcProcData为输入上一包返回的过程数据输出本包返回的过程数据
|
||||
* 3 最后一包 pcHash为输出hash结果
|
||||
* @param pcProcData:输入。过程数据 (包序号为0或1时传入null,包序号为2或3时需要有值)
|
||||
* @return LongDataReturn<String, String>对象。属性如下:
|
||||
* procData:过程数据 (包序号为1或2时有值)字符串格式
|
||||
* data:哈希值(固定长度32字节)转HEX 字符串格式
|
||||
*/
|
||||
LongDataReturn<String, String> SYD_SM3_Hash_LongData(
|
||||
byte[] pcData,
|
||||
int iPkgNum,
|
||||
String pcProcData
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 短数据加解密
|
||||
* <p>
|
||||
* 输入对指定的原始数据和公钥,通过 SM4 算法计算数据的散列值。
|
||||
*
|
||||
* @param iKeyIndex: 输入。会话密钥索引值
|
||||
* @param pcData: 输入。 报文密文或明文。
|
||||
* @param iFlag: 输入。加解密标识,0:表示ECB解密;1:表示ECB加密
|
||||
* @return 明文或密文
|
||||
*/
|
||||
byte[] SYD_SM4_ShortData(
|
||||
int iKeyIndex,
|
||||
@ -48,11 +111,14 @@ public interface SydApi
|
||||
|
||||
|
||||
/**
|
||||
* 对指定批量数据进行SM4加解密处理。
|
||||
* 批量数据加解密
|
||||
* <p>
|
||||
* 输入对指定的原始数据和公钥,通过 SM4 算法计算数据的散列值。
|
||||
*
|
||||
* @param iKeyIndex 会话密钥索引值数组
|
||||
* @param pcData 要加密的报文明文或密文数组。
|
||||
* @param iFlag 加解密标识,0:表示ECB解密;1:表示ECB加密
|
||||
* @param iKeyIndex: 输入。会话密钥索引值数组
|
||||
* @param pcData: 输入。要加密的报文明文或密文数组。
|
||||
* @param iFlag: 输入。加解密标识,0:表示ECB解密;
|
||||
* 1:表示ECB加密
|
||||
* @return List<byte [ ]>对象,List 的长度与输入参数 pcData 的长度相同。
|
||||
*/
|
||||
List<byte[]> SYD_SM4_BatchData(
|
||||
@ -61,4 +127,136 @@ public interface SydApi
|
||||
int iFlag
|
||||
);
|
||||
|
||||
/**
|
||||
* 长数据加解密
|
||||
* 输入对指定的原始数据和公钥,通过 SM4 算法计算数据的散列值。
|
||||
*
|
||||
* @param iKeyIndex:输入。会话密钥索引值
|
||||
* @param pcData: 输入。要加密的数据。(数据的长度第一包以及中间包时需为16的整数倍)
|
||||
* @param iPkgNum:输入。包序号:0:仅一包,1:第一包,2:中间包,3:结束包
|
||||
* @param iFlag:输入。加解密标识,0:表示ECB解密;1:表示ECB加密
|
||||
*
|
||||
* @return 输出数据;
|
||||
*/
|
||||
byte[] SYD_SM4_LongData(
|
||||
int iKeyIndex,
|
||||
byte[] pcData,
|
||||
int iPkgNum,
|
||||
int iFlag
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
*批量数据MAC校验接口,对批量数据进行SM4 MAC计算。
|
||||
*
|
||||
* @param iKeyIndex:输入。计算mac所需要的密钥索引值数组
|
||||
* @param pcData: 输入。要做MAC的数据组
|
||||
*
|
||||
* @return String[] 数组,长度等于 pcData List 的长度。
|
||||
* String[] 数组中的每个值为 mac值(固定长度16字节)的 HEX字符串。
|
||||
*/
|
||||
String[] SYD_SM4Mac_BatchData(
|
||||
int[] iKeyIndex,
|
||||
List<byte[]> pcData
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* 对批量数据进行SM4 MAC校验。有一条数据失败则抛出异常。
|
||||
*
|
||||
* @param iKeyIndex:输入。计算mac所需要的密钥索引值数组
|
||||
* @param pcData: 输入。 要做MAC的数据组
|
||||
* @param pcMac: 输入。输入的mac值数组组,每个 ma从(固定长度16字节)的HEX字符串。
|
||||
*
|
||||
* @return boolean[] 数组长度等于 pcData List 的长度。
|
||||
* boolean[] 数组中的每个值为对应索引 pcData 和 pcMac 的校验结果。 true表示校验成功,false 表示校验失败。
|
||||
* */
|
||||
boolean[] SYD_SM4Mac_BatchData(
|
||||
int[] iKeyIndex,
|
||||
List<byte[]> pcData,
|
||||
String[] pcMac
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* 长数据mac计算接口,对数据进行SM4 MAC计算。
|
||||
*
|
||||
* @param iKeyIndex:输入。计算mac所需要的密钥索引值
|
||||
* @param pcData:输入。要做MAC的数据
|
||||
* @param iPkgNum:输入。 包序号:0 仅一包 pcHash为输出hash结果
|
||||
* 1 第一包 输出过程数据pcProcData
|
||||
* 2 中间包 pcProcData为输入上一包返回的过程数据输出本包返回的过程数据
|
||||
* 3 最后一包 pcHash为输出hash结果
|
||||
*
|
||||
* @return LongDataReturn<String, String> 的对象,
|
||||
* 属性 procData 过程数据 (包序号为1或2时有值)字符串,
|
||||
* 属性 data 输出的mac值(固定长度16字节)HEX 字符串
|
||||
* */
|
||||
LongDataReturn<String, String> SYD_SM4Mac_LongData(
|
||||
int iKeyIndex,
|
||||
byte[] pcData,
|
||||
int iPkgNum,
|
||||
String pcProcData
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* 长数据MAC数据校验接口,对长数据进行MAC SM4校验处理。
|
||||
*
|
||||
*
|
||||
* @param iKeyIndex:输入。计算mac所需要的密钥索引值
|
||||
* @param pcData: 输入。要做MAC的数据
|
||||
* @param iPkgNum: 输入。 包序号:0 仅一包 pcHash为输出hash结果
|
||||
* 1 第一包 输出过程数据pcProcData
|
||||
* 2 中间包 pcProcData为输入上一包返回的过程数据输出本包返回的过程数据
|
||||
* 3 最后一包 pcHash为输出hash结果
|
||||
* @param pcProcData:输入。过程数据 (包序号为1或2时有值)
|
||||
* @param pcMac: 输入。输出的mac值(固定长度16字节) HEX 字符串
|
||||
*
|
||||
* @return LongDataReturn<String, Boolean> 的对象
|
||||
* 属性 procData 过程数据 (包序号为1或2时有值)字符串
|
||||
* 属性 data 输出的mac校验结果。Boolean 类型,true表示校验成功,false 表示校验失败。
|
||||
* */
|
||||
LongDataReturn<String, Boolean>SYD_SM4Mac_LongData(
|
||||
int iKeyIndex,
|
||||
byte[] pcData,
|
||||
int iPkgNum,
|
||||
String pcProcData,
|
||||
String pcMac
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 短数据MAC计算接口,对数据进行SM4 MAC计算
|
||||
*
|
||||
* @param iKeyIndex:输入。计算mac所需要的密钥索引值
|
||||
* @param pcData: 输入。计算mac所需要的数据。
|
||||
*
|
||||
* @return mac值(固定长度16字节)转HEX 字符串格式
|
||||
* */
|
||||
String SYD_SM4Mac_ShortData(
|
||||
int iKeyIndex,
|
||||
byte[] pcData
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* 短数据MAC验证接口,对数据进行SM4 MAC校验
|
||||
*
|
||||
* @param iKeyIndex:输入,计算mac所需要的密钥索引值
|
||||
* @param pcData: 输入。计算mac所需要的数据。
|
||||
* @param pcMac: 输入。mac值(固定长度16字节)HEX字符串
|
||||
*
|
||||
* @return true表示校验成功,false 表示校验失败
|
||||
* */
|
||||
boolean SYD_SM4Mac_ShortData(
|
||||
int iKeyIndex,
|
||||
byte[] pcData,
|
||||
String pcMac
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -24,6 +24,16 @@ public class SydApi4Database implements SydApi
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String SYD_SM3_Hash_ShortData(byte[] pcData) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongDataReturn<String, String> SYD_SM3_Hash_LongData(byte[] pcData, int iPkgNum, String pcProcData) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] SYD_SM4_ShortData(int iKeyIndex, byte[] pcData, int iFlag) {
|
||||
return new byte[0];
|
||||
@ -33,4 +43,39 @@ public class SydApi4Database implements SydApi
|
||||
public List<byte[]> SYD_SM4_BatchData(int[] iKeyIndex, List<byte[]> pcData, int iFlag) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] SYD_SM4_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, int iFlag) {
|
||||
return new byte[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] SYD_SM4Mac_BatchData(int[] iKeyIndex, List<byte[]> pcData) {
|
||||
return new String[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean[] SYD_SM4Mac_BatchData(int[] iKeyIndex, List<byte[]> pcData, String[] pcMac) {
|
||||
return new boolean[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongDataReturn<String, String> SYD_SM4Mac_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, String pcProcData) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LongDataReturn<String, Boolean> SYD_SM4Mac_LongData(int iKeyIndex, byte[] pcData, int iPkgNum, String pcProcData, String pcMac) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String SYD_SM4Mac_ShortData(int iKeyIndex, byte[] pcData) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean SYD_SM4Mac_ShortData(int iKeyIndex, byte[] pcData, String pcMac) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
24
src/main/java/com/sunyard/sge/database/SydConfigApi.java
Normal file
24
src/main/java/com/sunyard/sge/database/SydConfigApi.java
Normal file
@ -0,0 +1,24 @@
|
||||
package com.sunyard.sge.database;
|
||||
/**
|
||||
*
|
||||
* 日志配置接口
|
||||
* */
|
||||
public interface SydConfigApi {
|
||||
|
||||
/**
|
||||
* 设置日志相应的配置
|
||||
*
|
||||
*@param pcLogPath: 输入。日志存储路径
|
||||
*@param iLogPathLen: 输入。日志路径长度。
|
||||
*@param iLogLevel: 输入。日志级别设置 0:不记录日志,1:记录网络层错误日志,2:记录接口错误日志及网络层错误日志,3:记录正确日志及错误日志
|
||||
*
|
||||
* @return null
|
||||
* */
|
||||
|
||||
static void SYD_SetLogConfig(
|
||||
String pcLogPath,
|
||||
int iLogPathLen,
|
||||
int iLogLevel) {
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user