如何使用注册表值实现签名策略

更新日期: 2006 年 12 月 12 日

使用注册表值可以管理组织用于加载签名包和未签名包的策略。

本过程介绍如何向 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS 注册表项中添加 BlockedSignatureStates DWORD 值。BlockedSignatureStates 中的数据值决定当包具有不可信签名、具有无效签名或未签名时是否阻止该包。对于用来进行包签名的签名的状态,BlockedSignatureStates 注册表值使用下列定义:

  • “有效签名”**是一个可以成功读取的签名。
  • “无效签名”**是一个解密校验和(由私钥加密的包代码的单向哈希)与在加载 Integration Services 包的过程中计算的解密校验和不相符的签名。
  • “可信签名”**是一个使用由受信任的根证书颁发机构签名的数字证书创建的签名。该设置不要求签名者出现在可信发布服务器的用户列表中。
  • “不可信签名”是一个不能验证为由受信任的根证书颁发机构颁发的签名,或不是最新版本的签名。

下表列出了 DWORD 数据的有效值及其相关策略。

说明

0

无管理限制。

1

阻止无效签名。

该设置不阻止未签名的包。

2

阻止无效签名和不可信签名。

该设置不阻止未签名的包,但会阻止自我生成的签名。

3

阻止无效签名、不可信签名以及未签名的包。

该设置也阻止自我生成的签名。

如果 BlockedSignatureStates 注册表值的类型为 DWORD,并且注册表值不是 0、1、2 或 3,则 Integration Services 会将注册表值视为 3。如果 BlockedSignatureStates 未设置为 DWORD,则 Integration Services 会将注册表值视为具有 0 值的 DWORD。

ms403378.note(zh-cn,SQL.90).gif注意:
建议将 BlockedSignatureStates 设置为 3。该设置提供针对未签名包或者无效或不可信签名的最强保护功能。不过,建议的设置并非适用于所有情况。有关如何进行数字资产签名的详细信息,请参阅 MSDN Library 中的主题“代码签名简介”

实现包的签名策略

  1. 在**“开始”菜单上,单击“运行”**。

  2. 在“运行”对话框中,键入 regedit,然后单击**“确定”**。

  3. 找到注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS。

  4. 右键单击 MSDTS,指向**“新建”,然后单击“DWOR 值”**。

  5. 将新值的名称更新为 BlockedSignatureStates

  6. 右键单击 BlockedSignatureStates,再单击**“修改”**。

  7. 在**“编辑 DWORD 值”**对话框中,键入值 0、1、2 或 3。

  8. 单击**“确定”**。

  9. 在**“文件”菜单中,单击“退出”**。

请参阅

任务

使用证书对包进行签名

概念

Integration Services 的安全注意事项
安全帮助主题 (SSIS)

帮助和信息

获取 SQL Server 2005 帮助