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;
+ }
+}