---
title: "ODP 传输加密 - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: ODP 传输加密 本文主要介绍了 ODP 传输加密的设置方法。 版本信息 ODP 从 1.8.1 版本开始提供 SSL 功能。使用 -V 参数可以查看 ODP 的版本信息。 在 ODP 的安装路径下执行如下命令可以查看 ODP 的版本信息。示例如下： ./bin/obproxy -V obproxy (OceanBa…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.1.0

# ODP 传输加密

更新时间：2023-07-28 10:45:57

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/600.manage/500.security-and-permissions/400.data-transfer-encryption/300.odp-transmission-encryption.md)  

本文主要介绍了 ODP 传输加密的设置方法。

## 版本信息

ODP 从 1.8.1 版本开始提供 SSL 功能。使用 `-V` 参数可以查看 ODP 的版本信息。

在 ODP 的安装路径下执行如下命令可以查看 ODP 的版本信息。示例如下：

```shell
./bin/obproxy -V
obproxy (OceanBase 1.8.1 3870.el6)
REVISION: 3870-local-8df895b0912b58dea3986320baeda7803bf57bd1
BUILD_TIME: Nov  2 2020 21:53:06
BUILD_FLAGS: -g -O2 -D_OB_VERSION=1000 -D_NO_EXCEPTION -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DNDEBUG -D__USE_LARGEFILE64 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -Werror -Wextra -Wunused-parameter -Wformat -Wconversion -Wno-deprecated -Wno-invalid-offsetof -finline-functions -fno-strict-aliasing -mtune=core2 -Wno-psabi -Wno-sign-compare -DGCC_52 -DUSE_POSIX_FALLOCATE -DSUPPORT_SSE4_2 -DHAVE_SCHED_GETCPU -DHAVE_REALTIME_COARSE -DOB_HAVE_EVENTFD -DHAVE_FALLOCATE -DHAVE_MINIDUMP

```

## 设置密钥与证书

目前仅支持文件设置方式。

配置只对新建的连接起作用，已有的连接不受影响。配置即时生效，无需重启。

使用 ODP 的 `root@proxysys` 账号登录后，通过文件设置证书、公钥、私钥。示例如下：

```shell
obclient> UPDATE proxyconfig.security_config SET CONFIG_VAL= '{"sourceType" : "FILE", "CA" : "certs/ca.pem", "publicKey" : "certs/server-cert.pem", "privateKey" : "certs/server-key.pem"}' WHERE APP_NAME = 'obproxy' and VERSION = '1';

```

其中 `sourceType` 字段必须设为 FILE，`CA` 表示 CA 证书的存放位置，`publicKey` 表示公钥证书的存放位置，`privateKey` 表示私钥证书的存放位置。

通过 `SELECT` 语句查看 ODP 的证书、公钥、私钥是否设置。示例如下：

```shell
obclient> SELECT CONFIG_VAL FROM proxyconfig.security_config WHERE APP_NAME = 'obproxy';
+---------------+
| CONFIG_VAL    |
+---------------+
| SSL INFO FILE |
+---------------+
1 row in set (0.00 sec)

```

## 配置与客户端之间的 SSL 连接

`enable_client_ssl` 配置项控制客户端和 ODP 是否开启 SSL 连接，默认值为 false，表示与客户端之间不使用 SSL 连接。

当 `enable_client_ssl` 配置项为 true 时，表示 ODP 可以给客户端提供 SSL 功能。

配置只对新建的连接起作用，已有的连接不受影响。配置及时生效，无需重启。

客户端与 ODP 若想成功建立 SSL 连接，还需要客户端本身支持 SSL 功能。例如，对于 MySQL 官方客户端程序（ mysql ）的话，需要检查相应的程序版本是否支持 SSL 功能。

使用客户端登录 ODP 后，可以发送 `'\s'` 串查看 SSL 字段值，通过此字段可以查看客户端与 ODP 之间的连接是否使用 SSL 功能。

- 当 SSL 字段的值不为 `Not in use` 时，则表示客户端与 ODP 之间的连接使用了 SSL 功能。
 - 当 SSL 字段的值为 `Not in use` 时，表示客户端与 ODP 之间的连接未使用 SSL 功能。

示例如下：

```shell
obclient> \s
--------------
obclient  Ver 1.1.8 Distrib 5.7.24, for Linux (x86_64) using  EditLine wrapper

Connection id:    3221506046
Current database: test
Current user:   root@xx.xx.xx.xx
SSL:      Cipher in use is DHE-RSA-AES128-GCM-SHA256
Current pager:    less
Using outfile:    ''
Using delimiter:  ;
Server version:   5.7.25 OceanBase 2.2.60 (r1-63cbd3084a3283523f09d6ba20795f77b95e046b) (Built Jun 30 2020 10:10:29)
Protocol version: 10
Connection:   xx.xx.xx.xx via TCP/IP
Server characterset:  utf8mb4
Db     characterset:  utf8mb4
Client characterset:  utf8mb4
Conn.  characterset:  utf8mb4
TCP port:   13213
Active      --------------

```

## 配置与服务端之间的 SSL 连接

配置项 `enable_server_ssl` 控制 ODP 和 OBServer 是否开启 SSL 连接，默认值为 false，表示和服务端之间不开启 SSL。

当 `enable_server_ssl` 为 true 时，表示 ODP 可以和 OBServer 开启 SSL 功能。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
