与此版本 Windows 一起发布的 Message Queuing 5.0 中引入了以下新功能:
处理大量队列的能力
Message Queuing 5.0 提供了用于处理大量队列的功能。尽管 Message Queuing 4.0 未对可创建的队列数目实行特定限制,但有数千个队列时,还是对性能造成了负面影响。特别是将队列加载到内存中时,因队列查找算法而大大增加了消息队列服务的启动时间。而对于 Windows(R) 7,已对消息队列在启动时使用的队列查找算法进行了优化,当系统上承载大量队列时可以显著增加消息队列的启动性能。
更安全的身份验证算法
Message Queuing 5.0 支持安全哈希算法 2.0 (SHA2) 和此版本 Windows 支持的所有高级哈希算法。默认设置为 SHA-2,摘要长度为 512 位。由于 SHA1、消息摘要版本 2 (MD2)、MD4、MD5 和消息验证代码 (MAC) 等算法被认为不够安全,因此默认情况下对这些算法的支持在 Message Queuing 5.0 中处于禁用状态。若要启用对不够安全算法的支持,请执行以下步骤:
启用对不够安全的哈希算法的支持
通过添加 WeakHashAlgorithms 注册表项,可以启用不够安全的算法以支持需要这些算法的任何消息队列应用程序。如果此注册表项不存在(即默认状态),则会禁用所有不够安全的算法。如果该注册表项存在,则会启用所有不够安全的算法。若要仅启用特定的不够安全算法,您必须添加该注册表项并指定要继续禁用的不够安全算法的值。
小心 | |
不正确地编辑注册表可能会对系统造成严重损坏。在更改注册表之前,应备份计算机上任何有价值的数据。 |
配置不够安全的身份验证算法支持的步骤 |
单击“开始”,在“开始搜索”中键入 regedit,然后按 Enter。
导航到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security
在“编辑”菜单上,指向“新建”,然后单击“项”。
键入 WeakHashAlgorithms 作为新注册表项的名称,然后按 Enter。
注意 添加此项即可启用对所有不够安全的身份验证算法的支持。
右键单击“WeakHashAlgorithms”,指向“新建”,单击“DWORD (32 位)值”,然后键入新值的任意名称。
双击新的“DWORD (32 位)值”,单击“十进制”,然后在“数值数据”中键入要禁用算法的适当值:
- 32769 表示 MD2
- 32770 表示 MD4
- 32771 表示 MD5
- 32773 表示 MAC
- 32772 表示 SHA1
- 32769 表示 MD2
单击“确定”以关闭“编辑 DWORD (32 位)值”对话框。
为要禁用的其他算法创建新的 DWORD (32 位)值。
在“文件”菜单上单击“退出”以关闭“注册表编辑器”。
重新启动消息队列服务以使注册表更改生效。
可以重新编辑注册表以分别删除算法的值,以便支持该算法。
如果在此版本 Windows 上运行消息队列应用程序并选择不够安全的身份验证算法,则在默认情况下,消息队列将使用 SHA2 取代所选算法。
支持将经过身份验证的消息发送到 MSMQ 1 和 MSMQ 2 客户端
将消息发送到 MSMQ 1 或 MSMQ 2 客户端时,由于 MSMQ 1 和 MSMQ 2 不支持 SHA-2 身份验证,因此会拒绝经过身份验证的消息。通过添加 DefaultHashAlgorithm 注册表项,可以将消息发送到 MSMQ 1 和 MSMQ 2 客户端。
- 如果此注册表项不存在(即默认情况下的状态),则使用 SHA-2 对消息进行身份验证。
- 如果存在注册表项,则消息将按照指定算法进行身份验证。
要启用某种不够安全的算法,则必须添加注册表项并指定要启用的不够安全的算法的值。
小心 | |
不正确地编辑注册表可能会对系统造成严重损坏。在更改注册表之前,应备份计算机上任何有价值的数据。 |
配置支持使用不够安全的身份验证算法发送消息的步骤 |
单击“开始”,在“开始搜索”中键入 regedit,然后按 Enter。
导航到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security
在“编辑”菜单上,指向“新建”,然后单击“项”。
键入 DefaultHashAlgorithm 作为新注册表项的名称,然后按 Enter。
注意 添加此项即可使用某种不够安全的身份验证算法发送消息。
右键单击 DefaultHashAlgorithm,指向“新建”,单击“DWORD (32 位)值”,然后键入新值的任意名称。
双击新的“DWORD(32 位)值”,单击“十进制”,然后为要启用的算法在“数值数据”中键入适当的值:
- 32769 表示 MD2
- 32770 表示 MD4
- 32771 表示 MD5
- 32773 表示 MAC
- 32772 表示 SHA1
- 32769 表示 MD2
单击“确定”以关闭“编辑 DWORD (32 位)值”对话框。
在“文件”菜单上单击“退出”以关闭“注册表编辑器”。
重新启动消息队列服务以使注册表更改生效。
可以重新编辑注册表以删除算法的各个值,以便禁用该算法。