ALTER CERTIFICATE (Transact-SQL)

更新日期: 2006 年 12 月 12 日

更改用于加密证书的私钥,如果不存在则添加私钥。更改证书对于 Service Broker 的可用性。

主题链接图标Transact-SQL 语法约定

语法

 ALTER CERTIFICATE certificate_name      REMOVE PRIVATE KEY     |     WITH PRIVATE KEY ( <private_key_spec> [ ,... ] )     |     WITH ACTIVE FOR BEGIN_DIALOG = [ ON | OFF ]   <private_key_spec> ::=      FILE = 'path_to_private_key'      |     DECRYPTION BY PASSWORD = 'key_password'      |     ENCRYPTION BY PASSWORD = 'password' 

参数

  • certificate_name
    在数据库中标识证书的唯一名称。
  • FILE ='path_to_private_key'
    指定私钥的完整路径(包括文件名)。此参数可以是本地路径或网络位置的 UNC 路径。将在 SQL Server 服务帐户的安全上下文中访问此文件。使用此选项时,必须确保服务帐户有权访问指定的文件。
  • DECRYPTION BY PASSWORD**='key_password'**
    指定解密私钥所需的密码。
  • ENCRYPTION BY PASSWORD ='password'
    指定用于对数据库中的证书私钥进行加密的密码。此密码受密码复杂性策略约束。有关详细信息,请参阅密码策略
  • REMOVE PRIVATE KEY
    指定私钥不应再保留在数据库内。
  • ACTIVE FOR BEGIN_DIALOG = { ON | OFF }
    使证书可用于 Service Broker 对话会话的发起方。

备注

私钥必须与 certificate_name 指定的公钥相对应。

如果文件中的密码受空密码保护,则可省略 DECRYPTION BY PASSWORD 子句。

在从文件中导入数据库已存在的证书私钥时,该私钥将自动受到数据库主密钥的保护。若要使用密码保护私钥,请使用 ENCRYPTION BY PASSWORD 短语。

REMOVE PRIVATE KEY 选项将从数据库中删除证书的私钥。当使用证书来验证签名或在不需要私钥的 Service Broker 方案中时,可以执行此操作。请勿删除保护对称密钥的证书的私钥。

如果使用数据库主密钥加密私钥,则不必指定解密密码。

ms189511.note(zh-cn,SQL.90).gif重要提示:
从数据库删除私钥前,始终对其建立存档副本。有关详细信息,请参阅 BACKUP CERTIFICATE (Transact-SQL)

权限

需要对证书具有 ALTER 权限。

示例

A. 更改证书的密码

ALTER CERTIFICATE Shipping04 
    WITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'pGF$5DGvbd2439587y',
    ENCRYPTION BY PASSWORD = '4-329578thlkajdshglXCSgf');
GO

B. 更改用于加密私钥的密码

ALTER CERTIFICATE Shipping11 
    WITH PRIVATE KEY (ENCRYPTION BY PASSWORD = '34958tosdgfkh##38',
    DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%');
GO

C. 为数据库中已存在的证书导入私钥

ALTER CERTIFICATE Shipping13 
    WITH PRIVATE KEY (FILE = 'c:\\importedkeys\Shipping13',
    DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO

D. 将私钥保护从密码更改为数据库主密钥

ALTER CERTIFICATE Shipping15 
    WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO

请参阅

参考

CREATE CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
EVENTDATA (Transact-SQL)

其他资源

加密层次结构

帮助和信息

获取 SQL Server 2005 帮助