如果要处理策略集,那么您可以使用管理控制台来保护消息部件。要通过策略集使用 WS-Security 来保护消息部件,必须在策略集中定义要在 WS-Security 策略中进行保护的消息部件的元素。
开始之前
开始此任务前,必须对应用程序或服务工件定义了策略集。另外,如果任何缺省策略集都不包含必需的策略定义,那么还必须使用这些必需的定义来创建定制策略集。
关于此任务
此任务假定您正在使用策略集且需要在该上下文中保护消息部件。
过程
- 打开管理控制台。
- 选择包含要保护的消息部件的策略集。
- 要使用应用程序策略集保护消息部件,请单击服务 > 策略集 > 应用程序策略集。
- 要使用系统策略集保护消息部件,请单击服务 > 策略集 > 系统策略集。
- 选择要使用的策略集。
- 如果未列示 WS-Security 策略,请单击添加并从列表中选择该策略。
- 单击 WS-Security 链接。
- 单击主策略或引导策略。 使用 Secure Conversation 时,引导策略可用。如果要使用引导策略,请在步骤 3 中选择 SecureConversation 策略集。
- 确保选择“消息级别保护”,然后单击请求消息部件保护或响应消息部件保护。 如果“消息级别保护”复选框处于已取消选中状态,那么指向“响应消息部件保护”的链接不可用,因为在取消选择“消息级别保护”时,会移除与消息级安全性相关联的配置信息。
- 对加密部件或签署部件单击添加,具体情况取决于所需安全性级别。
- 指定部件名称并添加要进行签署和/或加密的元素。元素可以是消息主体、XPath 表达式或仅用于 SOAP 头元素的 QName。单击确定。
有关何时使用 QName 或 XPath 的建议:如果正在对 SOAP 头进行加密或签署,那么可以使用 QName 来选择要进行签署或加密的 SOAP 头。
注: 这些元素必须是 SOAP 头的直接子代。
如果要对 SOAP 消息中的其他元素进行签署和加密,那么您可以使用 XPath 表达式。
使用此 XPath 示例在名称空间中选择 MyElement、具有 MyHeader 的 http://xyz.acme.com 以及 http://acme.com。/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' and local-name()='Envelope']/*[namespace-uri()=
'http://www.w3.org/2003/05/soap-envelope' and local-name()='Header']/*[namespace-uri()='http://acme.com' and local-name()=
'MyHeader']/*[namespace-uri()='http://xyz.acme.com' and local-name()='MyElement']
- 重复步骤 8 至 9 对各个消息部件进行签署或加密。
- 要保存对主配置所作的更改,请单击保存。
结果
完成此任务后,您配置了包含对消息部件进行签署和加密所必需的服务质量定义的策略集。
示例
如果具有策略集
myPolicy 且需要指定必须进行签署的请求消息主体,那么可以执行以下操作:
- 在服务 > 策略集 > 应用程序策略集集合中找到策略集并单击策略集名。
- 单击 WS-Security 链接。如果此链接不存在,请单击添加,然后从列表中选择 WS-Security。
- 单击主策略 > 请求消息部件保护。
- 单击“完整性保护和签署部件”部分下的添加。
- 指定名称 messageBody。
- 选择保护消息主体,单击添加指定元素,然后单击确定。
- 单击保存以保存您对主配置所作的更改。
下一步做什么
您可以继续阅读“使用策略集对消息部件进行签署和加密”。