指定客户端应用程序与数据库服务器之间发送的数据包的编码。您可以指定无编码、简单模糊处理或 TLS(传输层安全)加密。
语法{ Encryption | ENC }= { NONE | SIMPLE | TLS ( ON | OFF } | TRUSTED_CERTIFICATES={ NONE | ON | OFF } | IDENTITY=public-certificate-filename> |
TLS:仅支持 TCP/IP
NONE 或 SIMPLE:任何位置
ON。FIPS 认证的 TLS 使用单独的认证库,但与使用非认证 TLS 的 SAP IQ 9.0.2 或更高版本数据库服务器兼容。TRUSTED_CERTIFICATES 为 TRUSTED_CERTIFICATES 协议选项指定 NONE 以建立 TLS 连接,而无需验证服务器的证书。在不验证服务器证书的情况下进行连接的安全性低于验证证书,因为客户端无法再防止中间人攻击。但是,连接仍高度加密并阻止重放攻击,这比完全没有加密更安全。使用 none 选项,客户端不需要受信任的根证书。NONE 不能多次指定,也不能在 public-certificate-filename> 或 ON 以防止主机名检查。将此选项设置为 ON 可能会阻止客户端对数据库服务器进行完全验证。IDENTITY_PASSWORD 指定加密证书的密码。TLS_TYPE 指定用于连接的加密类型。唯一支持的值为 rsa。DIRECT 通过代理进行连接时,指定 DIRECT=YES。DIRECT=YES 不能与 SERVER 或 ENG 参数一起使用,如果指定 VERIFY=YES,则不能将其与 LINKS 参数一起使用。MIN_TLS_VERSION 使用 MIN_TLS_VERSION 指定最低降级 TLS 版本。ON。FIPS 认证的 TLS 使用单独的认证库,但与使用非认证 TLS 的 SAP IQ 9.0.2 或更高版本数据库服务器兼容。
public-certificate-filename> 或 ON 以防止主机名检查。将此选项设置为 ON 可能会阻止客户端对数据库服务器进行完全验证。
无
此参数可用于使用传输层安全 (TLS) 或简单模糊处理对客户端应用程序与数据库服务器之间的通信进行编码。
FIPS 认证的加密需要单独的许可。
对于客户端验证数据库服务器所使用的单向验证,请使用 TRUSTED_CERTIFICATE 选项。如果要启用数据库服务器也用于验证客户端的双向验证,请使用 IDENTITY 和 IDENTITY_PASSWORD 选项为客户端指定标识文件和口令。数据库服务器指定用于签署客户端标识文件的受信任证书。
使用 CONNECTION_PROPERTY 系统函数检索当前连接的加密设置:
SELECT CONNECTION_PROPERTY ( 'Encryption' );以下连接字符串片段使用传送层安全(RSA 加密)和指定的证书文件(即使已过期)连接到数据库服务器:
"HOST=myhost;SERVER=myserver;ENCRYPTION=TLS(FIPS=OFF;TRUSTED_CERTIFICATE=rsaroot.crt)"以下连接字符串片段使用简单模糊处理连接到数据库服务器:
"HOST=myhost;SERVER=myserver;ENCRYPTION=simple"以下两个连接字符串片段是等效的,它们使用传送层安全(RSA 加密)和操作系统证书存储库中的证书连接到数据库服务器:
"HOST=myhost;SERVER=myserver;ENCRYPTION=TLS(FIPS=OFF;TRUSTED_CERTIFICATE=*)""HOST=myhost;SERVER=myserver;ENCRYPTION=TLS"以下连接字符串片段验证 myrootcert.crt 是否位于数据库服务器证书的签名链的根部,以及证书的公用名字段是否设置为 MyCertificateName:
"HOST=myhost;SERVER=myserver;ENCRYPTION=TLS(TRUSTED_CERTIFICATE=myrootcert.crt;CERTIFICATE_NAME=MyCertificateName)"以下连接字符串片段验证 myrootcert.crt 是否位于数据库服务器的证书签名链的根部。由于未指定其它 TLS 证书选项,因此数据库服务器证书中的主机名必须与要连接到的主机名相匹配:
"HOST=myhost;SERVER=myserver;ENCRYPTION=TLS(TRUSTED_CERTIFICATE=myrootcert.crt)"以下连接字符串片段验证 myrootcert.crt 是否位于数据库服务器证书的签名链的根部,但不进行其它验证:
"HOST=myhost;SERVER=myserver;ENCRYPTION=TLS(TRUSTED_CERTIFICATE=myrootcert.crt;SKIP_CERTIFICATE_NAME_CHECK=ON)"以下连接字符串片段将最低 TLS 版本强制设置为 1.3 以避免弱 TLS 1.0、1.1 和 1.2:
"HOST=myhost;SERVER=myserver;ENCRYPTION=TLS(MIN_TLS_VERSION=1.3)"