──────────────────────────────────────────
通用网关开发包DEMO示例
JDK：  本示例JDK版本基于jdk1.8.0_202
日期：  2022-02
──────────────────────────────────────────

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
【重要提示】
1. 声明：本开发包代码只是为了方便机构\商户测试而提供的样例代码，机构\商户可以根据自己需要，按照技术文档编写。本代码仅供参考；
2. 联调前请仔细阅读以下说明；
3. 测试时一定要注意配置好配置文件中的各种证书文件的路径；
4. 注意使用国密必须更新bc的jar（lib目录中已包含）
5. 使用低于1.8.0_161版本的JDK可能会导致敏感信息解密失败问题
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

──────────────────────
示例工程目录结构
──────────────────────
uas_uag_demo
  │
  ├src.main.java┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈类目录
  │  ├com.unionpay.uas.demo
  │  │  ├aie┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈账户信息交互系统业务相关示例代码
  │  │  ├cbs┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈B2B业务处理系统业务相关示例代码
  │  │  ├cloudpayplatform┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈云网项目业务相关示例代码
  │  │  ├contentpay┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈内容支付业务相关示例代码
  │  │  ├qrtax┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈扫码缴税业务相关示例代码
  │  │  ├tds┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈标记化数字服务平台业务相关示例代码
  │  │  ├uniontax┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈税费支付业务相关示例代码
  │  │  ├gov┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈新一代社保缴费业务相关示例代码
  │  │  ├dcp┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈凭据平台钱包侧交易业务相关示例代码
  │  │  ├vcs┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈验证中心业务相关示例代码
  │  │  ├DemoUAG.java┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈用于演示接入网关使用国际和国密算法对敏感信息报文进行加解密、报文签名并发送请求、接收应答并验签；引用的项目组可参考并开发相应产品的DEMO
  │  │  └DemoUOG.java┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈用于演示接出网关使用国际和国密算法对敏感信息报文进行加解密、报文签名并发送请求、接收应答并验签；引用的项目组可参考并开发相应产品的DEMO
  │  └com.unionpay.uas.sdk
  │     ├AesUtils.java┈┈┈┈┈┈┈┈┈┈┈┈Aes算法工具类
  │     ├CertUtil.java┈┈┈┈┈┈┈┈┈┈┈┈证书管理工具类
  │     ├DemoUtil.java┈┈┈┈┈┈┈┈┈┈┈┈辅助工具类
  │     ├HttpsUtil.java┈┈┈┈┈┈┈┈┈┈┈后台类交易http通讯类
  │     ├SDKConfig.java┈┈┈┈┈┈┈┈┈┈┈读取uas_sdk.properties属性文件并填装配置的属性的配置类
  │     ├SDKConstants.java┈┈┈┈┈┈┈┈常量类
  │     ├SDKUtil.java┈┈┈┈┈┈┈┈┈┈┈┈┈SDK工具类
  │     ├SecureUtil.java┈┈┈┈┈┈┈┈┈┈安全相关工具类
  │     ├UasService.java┈┈┈┈┈┈┈┈┈┈服务继承类，提供签名验签、敏感信息加解密以及BASE64编码和解码工具类
  │     └gm┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈国密算法工具包
  │
  ├src.main.resources┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈配置文件目录
  │  ├uas_sdk.properties ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈【重要】 测试环境配置文件，请求银联地址，私钥签名证书，验签公钥路径，多证书的配置文件（这个文件切换生产的时候要替换成生产环境的配置文件）
  │  └log4j.properties ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈LogUtil.java日志工具类的配置文件
  │
  └lib┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈依赖包目录
     ├bcpkix-jdk15on-1.66.jar┈┈┈┈┈┈┈┈┈┈┈BC算法包，第三方组件，建议自行从组件仓库引入项目
     ├bcprov-jdk15on-1.66.jar┈┈┈┈┈┈┈┈┈┈┈BC算法包，第三方组件，建议自行从组件仓库引入项目
     ├commons-codec-1.8.jar┈┈┈┈┈┈┈┈┈┈┈┈┈数据编码依赖包，第三方组件，建议自行从组件仓库引入项目
     ├commons-io-2.4.jar┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈IO操作依赖包，第三方组件，建议自行从组件仓库引入项目
     ├json-20210307.jar┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈JSON操作包，第三方组件，建议自行从组件仓库引入项目
     ├log4j-1.2.17.jar┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈日志包，第三方组件，建议自行从组件仓库引入项目
     ├org.apache.commons.codec-1.8.jar┈┈数据编码包，第三方组件，建议自行从组件仓库引入项目
     ├org.apache.commons.io-2.4.jar┈┈┈┈┈IO操作包，第三方组件，建议自行从组件仓库引入项目
     └uas_uag_sdk-1.3.0.jar┈┈┈┈┈┈┈┈┈┈┈┈┈核心SDK包，自研组件，需要将该jar包手动引入至项目中


第三方依赖包建议从组件仓库获取并引入工程项目代码中。后续请接入方自行关注第三方组件安全漏洞报告，并及时升级至稳定安全版本！组件对应Maven坐标如下：
──────────────────────────────────────────────────────────────────
  <dependencies>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcprov-jdk15on</artifactId>
      <version>1.66</version>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcpkix-jdk15on</artifactId>
      <version>1.66</version>
    </dependency>
    <dependency>
      <groupId>org.apache.directory.studio</groupId>
      <artifactId>org.apache.commons.codec</artifactId>
      <version>1.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.directory.studio</groupId>
      <artifactId>org.apache.commons.io</artifactId>
      <version>2.4</version>
    </dependency>
    <dependency>
      <groupId>org.json</groupId>
      <artifactId>json</artifactId>
      <version>20210307</version>
    </dependency>
  </dependencies>
──────────────────────────────────────────────────────────────────


───────────────────────────────────────────────────────────────────────────────────────────────────────
【注意】
1. 【接口规范】接口规范请联系各具体的接入业务系统的开发方获取。
2. 【测试商户号】本业务不提供自助测试，请使用业务方提供的商户号、trId进行测试。
3. 【关于证书】需要配置证书路径，配置方法见示例代码中的说明，生产环境的相关证书需要业务邮件发送下载方式下载。
───────────────────────────────────────────────────────────────────────────────────────────────────────