要将客户端应用程序设置为使用传送层安全,请在您的连接字符串中使用 Encryption [ENC] 连接参数。连接字符串采用以下格式(必须将其全部写在一行上):
Encryption=tls( tls_type=cipher; [ fips={ y | n }; ] trusted_certificates=public-certificate [ certificate_company=organization; ] [ certificate_name=common-name; ] [ certificate_unit=organization-unit ] )
cipher 对于 RSA 和 ECC 加密,可分别为 rsa 或 ecc。缺省值为 rsa。对于 FIPS 认可的 RSA 加密,请指定 tls_type=rsa;fips=y。RSA FIPS 使用一个单独的经过认可的库,但是与使用 RSA 的 SQL Anywhere 9.0.2 或更高版本的数据库服务器兼容。不可以用 tls_type=ecc 来指定 fips=y。
如果编码器与用于创建证书的加密(RSA 或 ECC)不匹配,则连接会失败。
public-certificate 是包含一个或多个受信任证书的文件的路径和文件名。如果您使用经 FIPS 认可的 RSA 加密,则必须使用 RSA 生成证书。请参见trusted_certificates 协议选项。
organization 只有当证书的 [组织] 字段与此值相匹配时,才强制客户端接受服务器证书。请参见certificate_company 协议选项。
common-name 只有当证书的 [公用名] 字段与此值相匹配时,才强制客户端接受服务器证书。请参见certificate_name 协议选项。
organization-unit 只有当证书的 [组织单位] 字段与此值相匹配时,才强制客户端接受服务器证书。请参见certificate_unit 协议选项。
有关 trusted_certificates 及其它客户端安全参数的详细信息,请参见校验证书字段和使用 trusted_certificates 协议选项。
有关创建或获取证书的详细信息,请参见创建数字证书。
有关加密连接参数的详细信息,请参见Encryption 连接参数 [ENC]。
以下示例使用 trusted_certificates 加密连接参数来指定证书 public_cert.crt。
"UID=DBA;PWD=sql;ENG=myeng;LINKS=tcpip; ENC=tls(tls_type=ecc;trusted_certificates=public_cert.crt)" |
以下示例使用 trusted_certificates 加密连接参数来指定证书 public_cert.crt,并使用 certificate_unit 和 certificate_name 加密连接参数校验证书字段。
"UID=DBA;PWD=sql;ENG=myeng;LINKS=tcpip; ENC=tls(tls_type=ecc;trusted_certificates=public_cert.crt; certificate_unit=test_unit;certificate_name=my_certificate)" |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |