# 下载插件
系统提供了解密SDK用于客户的业务系统使用，实现无感的透明加解密功能。
下载插件是透明加密网关重要的功能之一，配置完加密和脱敏设置之后，通过下载插件生成一个jar包，通过jar包集成到具体需要加密的项目中，这样项目中的密文可以通过此jar包进行解密，增量数据也会通过此jar包进行加密持久化到数据库中。插件部署请参见[插件部署]。
#### 下载加密插件
1. 使用系统管理员sysadmin账号[登录数据库加密系统](https://support.huaweicloud.com/usermanual-dbss/dbss_03_0004.html)。
2. 在左侧导航树中选择"项目管理"。
3. 查看项目列表，鼠标悬停在需要编辑的项目上，单击"下载插件"。 
   图1项目管理   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482324.png "点击放大")
   
   
4. 弹窗提示环境变量设置方式，单击"确定"，进入加密插件下载界面。 
   下载路径为浏览器下载文件的默认路径。页面会显示透明加密网关平台的IP和端口以及项目ID，在集成下载的插件后，插件会根据以上信息从该平台的项目中拉取字段配置的加解密规则。
   图2AKSK配置提示   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161965.png "点击放大")
   
   
5. 单击![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041855.png)，保存插件到本地，便于业务系统使用。
   
   图3下载插件   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161959.png "点击放大")
   
   | **选项**  | **说明**                                                                                                                                               |
   |:---|:---|
   | 加密网关平台 | 显示当前加密网关平台的IP地址，服务端口。                                                                                                                                |
   | 项目ID  | 本项目的唯一ID，用于展示和排查问题。                                                                                                                                  |
   | ak    | 系统根据项目信息和服务内置算法计算出的AppCode，需要用户在集成插件的应用环境下配置到环境变量。公开展示AK。                                                                                              |
   | sk     | 系统根据项目信息和服务内置算法计算出的AppCode，需要用户在集成插件的应用环境下配置到环境变量。SK默认隐藏，单击![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041849.png)可以显示。 |
      
   ![](https://support.huaweicloud.com/usermanual-dbss/public_sys-resources/note_3.0-zh-cn.png)
   下载的插件是一个zip包（plugins.zip），zip包中包含的文件如[图4]所示。其中encryption-proxy.jar是加解密插件包，bcprov-jdk18on-1.79.jar是加解密依赖包。
   图4下载文件一览   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322432.png "点击放大")
   
   
 
 #### 插件部署
解压缩zip压缩包，拷贝2个文件到业务系统服务环境中。一般情况下web的程序的WEB-INF/lib下面。如果是springboot程序，是BOOT-INF/lib下，也可以通过pom方式引入打包集成。如果服务是jar包的形式，可以使用WinRAR解压缩工具直接打开jar包，拷贝插件jar包到lib下，部署完成后重启业务系统服务。
图5插件添加到应用程序   
![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161975.png "点击放大")
#### 插件配置
应用程序适配加解密插件需要修改数据库连接的配置文件，主要是更改数据库驱动文件和URL。我们从配置文件、中间件、应用程序和数据源这几个方面来说明如何配置插件。
#### 配置文件
下面以YAML、Properties、XML三种配置文件为例，说明集成插件时应该如何修改配置文件。
此处的配置以MySQL为例，URL的配置针对不同的数据库有不同的填写方式，具体请参见[数据源]。
**YAML**
```
database:
#driverclass: com.mysql.cj.jdbc.Driver
driverclass: com.pced.engine.spy.MaskingDriver
#url: jdbc:mysql://localhost:3306/mydatabase
url: jdbc:masking:mysql://localhost:3306/mydatabase
username: myuser
password: mypassword
```
**Properties**
```
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.driver-class-name=com.pced.engine.spy.MaskingDriver #spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?
useSSL=false&serverTimezone=UTC
spring.datasource.url=jdbc:masking:mysql://localhost:3306/mydatabase? useSSL=false&serverTimezone=UTC
spring.datasource.username=myuser
spring.datasource.password=mypassword
```
**XML**
```
<!-- 配置数据源 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> -->
<property name="driverClassName" value="com.pced.engine.spy.MaskingDriver"/>
<!-- <property name="url" value="jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC"/> -->
<property name="url" value="jdbc:masking:mysql://localhost:3306/mydatabase? useSSL=false&serverTimezone=UTC"/>
<property name="username" value="myuser"/>
<property name="password" value="mypassword"/> </bean>
```
#### 中间件
下面以WebSphere、Tomcat、XML三种配置文件为例，说明集成插件时应该如何修改配置文件。
**WebSphere**
1. 进入websphere控制台，在菜单左侧单击"资源 \> JDBC \> JDBC提供程序"，在菜单右侧单击"新建"按钮，即可创建JDBC驱动程序。 
   图6Websphere-创建驱动信息   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161969.png "点击放大")
   
   
2. 创建JDBC提供程序，数据库类型选择用户定义的，填写实现类名为com.pced.engine.spy.MaskingDriverPoolDataSource。 
   图7Websphere-选择驱动类   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482314.png "点击放大")
   
   
3. 添加插件的类路径。这步需要先把插件包放到lib目录下，通常在${产品安装路径}/AppServer/lib下。 
   图8Websphere-修改驱动路径   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322430.jpg "点击放大")
   
   
4. 单击"完成"，即可创建完成JDBC提供程序。 
   图9Websphere-完成驱动创建   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161971.jpg "点击放大")
   
   
5. 单击"资源 \> JDBC \> 数据源"，在菜单右侧单击"新建"，创建数据源。注意节点名称和服务器名称要和创建JDBC提供程序时保持一致。 
   图10Websphere-选择数据源   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041845.png "点击放大")
   
   
6. 新建数据源，数据源名称和JNDI名称均为masking，单击"下一步"。 
   图11Websphere-新建数据源   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041851.jpg "点击放大")
   
   
7. 在选择JDBC提供程序页面，单击"选择现有的JDBC提供程序"单选按钮，选择之前创建的JDBC提供程序，单击"下一步"。 
   图12Websphere-选择驱动程序   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041839.png "点击放大")
   
   
8. 单击"下一步"。 
   图13Websphere-输入控件类   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161961.jpg "点击放大")
   
   
9. 选择之前创建的账号密码，如果没有则为空，可以创建完数据源后编辑再配置，单击"下一步"。 
   图14Websphere-输入别名   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322434.png "点击放大")
   
   
10. 单击"完成"。 
    图15Websphere-浏览配置信息   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482326.png "点击放大")
    
    
11. 在"数据源 \> masking \> JAAS - J2C \> 认证数据"页面进行账号密码配置，单击"新建"。 
    图16Websphere-选择数据源   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322440.png "点击放大")
    
    
12. 填写用户名密码，单击"确定"。 
    图17Websphere-添加认证信息   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161977.jpg "点击放大")
    
    
13. 给数据源配置URL信息，编辑数据源，单击"定制属性"。 
    图18Websphere-编辑数据源   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161973.png "点击放大")
    
    
14. 在定制属性页面，单击"新建"。 
    图19Websphere-管理其他数据源   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041847.png "点击放大")
    
    
15. 在新建页面填写数据库URL信息，此处的URL针对不同的数据库有不同的填写方式，具体请参见[数据源]。
    
    图20Websphere-配置其他数据源   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161967.png "点击放大")
    
    
16. 所有的信息保存后都要看看页面是否有如下显示信息，如果有单击保存，这个是最终保存结果。 
    图21Websphere-浏览提示信息   
    ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482316.png "点击放大")
    
    
**WebLogic**
1. 进入WebLogic Server管理控制台，单击"服务 \> 数据源"，在页面右侧单击数据源名称，进入数据源详情页面。 
   图22WebLogic-浏览数据源   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041857.png "点击放大")
   
   
2. 在数据源详情页面选择"配置 \> 连接池"页签，将详情页中的URL和驱动程序类名称改为以下配置即可。 
   此处的配置以MySQL为例，URL的配置针对不同的数据库有不同的填写方式，具体请参见[数据源]。
   图23WebLogic-配置URL   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322442.png "点击放大")
   
   
**Tomcat**
Tomcat的数据源配置有两种，分别是局部数据源配置和全局数据源配置，两种配置方式如下：
- Tomcat配置的局部数据源文件路径是${tomcat安装路径}/conf/context.xml，按如下方式修改配置文件即可。
  此处的配置以Oracle为例，URL的配置针对不同的数据库有不同的填写方式，具体请参见[数据源]。
  图24Tomcat-修改配置   
  ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041841.png "点击放大") 
- Tomcat配置的全局数据源文件路径是${tomcat安装路径}/conf/server.xml，按如下方式修改配置文件即可。
  图25Tomcat-修改配置   
  ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721161963.png "点击放大") 
 
#### 应用程序
插件适配的典型应用程序包括帆软Report、Kettle应用程序。
**帆软** **Report**
1. 登录数据决策系统，单击"管理系统 \> 数据连接 \> 数据连接管理"，在页面右侧单击"编辑"按钮。 
   图26FineReport-编辑数据连接   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691322436.png "点击放大")
   
   
2. 在数据源编辑界面，修改驱动信息和数据库URL。注意驱动信息先选择默认，之后直接编辑文本即可，不用单击下拉框。单击"测试连接"可以查看配置是否正确。 
   此处的URL针对不同的数据库有不同的填写方式，具体请参见[数据源]。
   图27FineReport-编辑数据连接   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041853.png "点击放大")
   
   
**Kettle**
1. 在Kettle的主对象树中单"转换 \> DB连接"，右键单击要编辑的数据源，左键单击"编辑"按钮。 
   图28Kettle-选择数据源   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002721041843.jpg "点击放大")
   
   
2. 在弹出的数据源连接编辑页面中，选择连接类型为Generic database，选择连接方式为Native （JDBC），编辑自定义连接URL和自定义驱动类名称。 
   此处的URL针对不同的数据库有不同的填写方式，具体请参见[数据源]。
   图29Kettle-选择数据源   
   ![](https://support.huaweicloud.com/usermanual-dbss/zh-cn_image_0000002691482318.jpg "点击放大")
   
   
 
 #### 数据源
修改程序连接数据库的配置文件，jdbc更改配置文件：
driver-class-name: com.pced.engine.spy.MaskingDriver
Jdbc-url配置区别如下：
- Mysql jdbc-url: jdbc:masking:mysql://\*\*\*\*\*:3306/\*\*\*\*
  
- Sqlserver jdbc-url:jdbc:masking:sqlserver://\*\*\*\*\*:1433;DatabaseName=database;applicationName=schem
  
- 达梦 jdbc-url:jdbc:masking:dm://\*\*\*\*\*:5237?SCHEMA=myschema
  其中myschema是数据库的schema。
  
- Opengauss jdbc-url:jdbc:masking:postgresql://\*\*\*\*\*:5432/database?currentSchema=myschema
  其中myschema是数据库的schema。
  
- DB2 jdbc-url:jdbc:masking:db2://\*\*\*\*\*:50000/test:currentSchema=RY
  其中RY是数据库的schema。
  
- Kingbase jdbc-url:jdbc:masking:kingbase8://\*\*\*\*\*:54321/test?currentSchema= myschema
  其中myschema是数据库的schema。
  
- Oracle jdbc-url:jdbc:masking:oracle:thin:@\*\*\*\*\*:1521/TEST
  
- Postgres jdbc-url:jdbc:masking:postgresql://\*\*\*\*\*:54321/wireless?currentSchema=myschema
  其中myschema是数据库的schema。
  
- MariaDB jdbc-url: jdbc:masking:mariadb://\*\*\*\*\*:3306/\*\*\*\*
  
- Greenplum jdbc-url:jdbc:masking:postgresql://\*\*\*\*\*:5432/database?currentSchema=myschema
  其中myschema是数据库的schema。
  
 
