sp_ssladmin {[addcert, <certificate_path>[, <password> | NULL]]
[dropcert, <certificate_path>]
[lscert]
[help]
[lsciphers]
[setciphers,
{ "TLS1.2" | "TLS1.0" | "FIPS" | "Strong" | "Weak" | "All" | <quoted_list_of_ciphersuites>}]
[setprotocol, { "TLS1.2" | NULL }]
[lsprotocol]}
addcert
在证书文件中为本地服务器添加证书。
<certificate_path>
指定本地服务器上证书文件的绝对路径。
<password>
向证书文件添加新服务器证书时用于加密私有密钥的口令。
NULL
用于通过在启动期间从命令行请求口令,要求以有人看管的方式启动 SAP ASE 服务器。
dropcert
从证书文件中删除证书。
lscert
列出证书文件中的证书。
help
显示 sp_ssladmin 的联机帮助。
lsciphers
显示任何密码成套程序优先选项集的值。
setciphers
设置特定的密码成套程序优先选项。选择以下选项之一:
<quoted_list_of_ciphersuites> – 以逗号分隔的列表形式指定密码成套程序集,列表中各项按优先顺序排列。该列表首尾用引号(“ ”)引起来。此带引号的列表可以包含任何预定义集合以及各个密码成套程序名称。未知的密码成套程序名称将导致报告错误,但对优先选项无影响。有关定义的集中包含的密码成套程序列表的信息,请参见《系统管理指南》>“数据保密性”。
setprotocol
设置协议版本。选择以下选项之一:
lsprotocol
显示协议版本。返回的值为:
在 /sybase/ASE-16_0/certificates 的绝对路径(在 Windows 上为 x:\sybase\ASE-16_0\certificates)下的证书文件中为本地服务器添加一个条目,即 Server1.crt。私有密钥用口令“mypassword”进行加密。该口令应该是创建私有密钥时所指定的那个口令:
sp_ssladmin addcert, "/sybase/ASE-16_0/certificates/Server1.crt",
"mypassword"
从位于 /sybase/ASE-16_0/certificates(在 Windows 上为 x:\sybase\ASE-16_0\certificates)下的证书文件中删除证书 Server1.crt:
sp_ssladmin dropcert , "/sybase/ASE-16_0/certificates/Server1.crt"
列出本地服务器上的所有服务器证书:
sp_ssladmin lscert
go
<h2>certificate_path</h2>
/sybase/ASE-16_0/certificates/Server1.crt
显示已设置的密码成套程序首选项:
1> sp_ssladmin lsciphers
2> go
Cipher Suite Name Preference
------------------------------
TLS_RSA_WITH_AES_128_CBC_SHA
(1 row affected)
使用带引号的密码成套程序列表来设置 SAP ASE 服务器中的优先选项:
1> sp_ssladmin setciphers, 'TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA'
2> go
The following cipher suites and order of preference are set for SSL connections:
Cipher Suite Name Preference
---------------------------------------------------------------- -----------
TLS_RSA_WITH_AES_128_CBC_SHA 1
TLS_RSA_WITH_AES_256_CBC_SHA 2
设置 TLS 协议,客户端必须使用 TLS 1.2 协议版本成功连接,并严格执行 SSL 的使用,仅使用版本 TLS 1.2:
1> sp_ssladmin setprotocol,'TLS1.2'
2> go
TLS Protocol Version
--------------------
TLSv1.2
(1 row affected)
(return status = 0)
指定的密码成套程序是独立于协议版本的。例如,当已设置 TLS 1.2 协议版本时,如果密码成套程序首选项包含 TLS 1.0 SSL 密码成套程序,使用 TLS 1.2 协议的成功的 SSL 握手可能仍会与在 TLS 1.0 中定义的密码成套程序进行协商。但是,设置 TLS 1.0 协议版本的客户端将不能连接到服务器,并报告握手错误。
此示会显示设置为 TLS 1.2 的协议版本和设置为较弱密码成套程序 TLS_RSA_WITH_RC4_128_SHA 的密码成套程序。已使用较弱密码成套程序 TLS_RSA_WITH_RC4_128_SHA。
1> sp_ssladmin lsprotocol
2> go
TLS Protocol Version
--------------------
TLSv1.2
(1 row affected)
(return status = 0)
1> select @@ssl_protocol
2> go
---------------------
TLSv1.2
(1 row affected)
1> select @@ssl_ciphersuite
<h2>2> go </h2>
TLS_RSA_WITH_RC4_128_SHA
(1 row affected)
未设置协议时,sp_ssladmin lsprotocol 会返回 NULL:
1> sp_ssladmin lsprotocol
2> go
TLS Protocol Version
--------------------
(0 rows affected)
(return status = 0)
将协议设置为 NULL 时,sp_ssladmin lsprotocol 会返回 0:
1> sp_ssladmin lsprotocol
2> go
TLS Protocol Version
--------------------
0
(1 row affected)
(return status = 0)
<hostname> 以防止客户端进行远程连接。只能建立本地连接,并且口令绝不会通过网络连接传送。