From 78ed1cd553cf2c94060f4da38dc3595467e30023 Mon Sep 17 00:00:00 2001 From: cheney Date: Fri, 8 Jul 2022 17:32:07 +0800 Subject: [PATCH] functions need implement before 07/12 --- pom.xml | 48 +------------- .../java/com/sunyard/SydApiException.java | 30 +++++++++ .../java/com/sunyard/sge/database/App.java | 13 ---- .../java/com/sunyard/sge/database/SydApi.java | 64 +++++++++++++++++++ .../sunyard/sge/database/SydApi4Database.java | 34 ++++++++++ 5 files changed, 130 insertions(+), 59 deletions(-) create mode 100644 src/main/java/com/sunyard/SydApiException.java delete mode 100644 src/main/java/com/sunyard/sge/database/App.java create mode 100644 src/main/java/com/sunyard/sge/database/SydApi.java create mode 100644 src/main/java/com/sunyard/sge/database/SydApi4Database.java diff --git a/pom.xml b/pom.xml index 9232a41..57bfafb 100644 --- a/pom.xml +++ b/pom.xml @@ -8,9 +8,7 @@ 1 1.0 - 1 - - http://www.example.com + sydapi-database UTF-8 @@ -28,48 +26,6 @@ - - - - - maven-clean-plugin - 3.1.0 - - - - maven-resources-plugin - 3.0.2 - - - maven-compiler-plugin - 3.8.0 - - - maven-surefire-plugin - 2.22.1 - - - maven-jar-plugin - 3.0.2 - - - maven-install-plugin - 2.5.2 - - - maven-deploy-plugin - 2.8.2 - - - - maven-site-plugin - 3.7.1 - - - maven-project-info-reports-plugin - 3.0.0 - - - + diff --git a/src/main/java/com/sunyard/SydApiException.java b/src/main/java/com/sunyard/SydApiException.java new file mode 100644 index 0000000..d4e0f9a --- /dev/null +++ b/src/main/java/com/sunyard/SydApiException.java @@ -0,0 +1,30 @@ +package com.sunyard; + +public class SydApiException extends RuntimeException { + // 错误编码 + private int retCode; + + // 错误消息 + private String msg; + + public SydApiException(int retCode, String msg) { + this.retCode = retCode; + this.msg = msg; + } + + public int getRetCode() { + return retCode; + } + + public String getMsg() { + return msg; + } + + @Override + public String toString() { + return "SydApiException{" + + "retCode=" + retCode + + ", msg='" + msg + '\'' + + '}'; + } +} diff --git a/src/main/java/com/sunyard/sge/database/App.java b/src/main/java/com/sunyard/sge/database/App.java deleted file mode 100644 index f40e467..0000000 --- a/src/main/java/com/sunyard/sge/database/App.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.sunyard.sge.database; - -/** - * Hello world! - * - */ -public class App -{ - public static void main( String[] args ) - { - System.out.println( "Hello World!" ); - } -} diff --git a/src/main/java/com/sunyard/sge/database/SydApi.java b/src/main/java/com/sunyard/sge/database/SydApi.java new file mode 100644 index 0000000..1d4b00c --- /dev/null +++ b/src/main/java/com/sunyard/sge/database/SydApi.java @@ -0,0 +1,64 @@ +package com.sunyard.sge.database; + +import java.util.List; + +/** + * 上海黄金交易所 - 数据库加密方案 + * + */ +public interface SydApi +{ + + /** + * 建立到指定地址和端口号的签名服务器的 TCP/IP 连接,返回 API 操作对象 SydApi。 + * 如果采用短连接,交易结束,要调用 SydApi 的方法SYD_Disconnect_Ex 进行释放连接。 + * + * @param pcIpList 签名服务器的IP地址 + * @param iPortList 签名服务器的端口号 + * @param iConnectTimeOut 连接超时,单位毫秒。 + * @param iDealTimeOut 交易接口超时设定,单位毫秒(不超过10ms)。 + * @return SydApi 的对象,只要有设备可用则返回。 + */ + SydApi SYD_Connect_Ex( + String[] pcIpList, + int[] iPortList, + int iConnectTimeOut, + int iDealTimeOut + ); + + + /** + * 关闭与签名服务器的TCP/IP连接 + */ + 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对象,List 的长度与输入参数 pcData 的长度相同。 + */ + List SYD_SM4_BatchData( + int[] iKeyIndex, + List pcData, + int iFlag + ); + +} diff --git a/src/main/java/com/sunyard/sge/database/SydApi4Database.java b/src/main/java/com/sunyard/sge/database/SydApi4Database.java new file mode 100644 index 0000000..ea2f788 --- /dev/null +++ b/src/main/java/com/sunyard/sge/database/SydApi4Database.java @@ -0,0 +1,34 @@ +package com.sunyard.sge.database; + +import java.util.List; + +/** + * 上海黄金交易所 - 数据库加密方案 + * + */ +public class SydApi4Database implements SydApi +{ + + + + + @Override + public SydApi SYD_Connect_Ex(String[] pcIpList, int[] iPortList, int iConnectTimeOut, int iDealTimeOut) { + return null; + } + + @Override + public void SYD_Disconnect_Ex() { + + } + + @Override + public byte[] SYD_SM4_ShortData(int iKeyIndex, byte[] pcData, int iFlag) { + return new byte[0]; + } + + @Override + public List SYD_SM4_BatchData(int[] iKeyIndex, List pcData, int iFlag) { + return null; + } +}