Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南

有关消息安全性的管理控制台任务

为使用消息安全性而对 Application Server 进行设置的大部分步骤都可以通过使用管理控制台、asadmin 命令行工具或通过手动编辑系统文件来完成。通常,建议不要通过编辑系统文件来完成,因为它可能会导致出现无意的更改而使 Application Server 不能正常运行,所以,如有可能,建议优先使用管理控制台来配置 Application Server,其次选用 asadmin 工具命令。仅在无管理控制台或等效的 asadmin 时,才通过手动编辑系统文件来完成。

对消息层安全性的支持以(可插入)验证模块的形式集成到 Application Server 及其客户机容器中。默认情况下,Application Server 中的消息层安全性处于禁用状态。以下各节提供了启用、创建、编辑和删除消息安全性配置和提供者的详细信息。

Procedure为消息安全性启用提供者

要为在 Application Server 中部署的 Web 服务端点启用消息安全性,必须指定要在服务器端默认使用的提供者。如果为消息安全性启用了默认提供者,您还需要启用要由 Application Server 中部署的 Web 服务客户机所使用的提供者。启用应用程序客户机的消息安全性中介绍了有关启用客户机使用的提供者的信息。

要为源于已部署的端点的 Web 服务调用启用消息安全性,您必须指定默认客户机提供者。如果已为 Application Server 启用了默认客户机提供者,则必须确保从 Application Server 中部署的端点中调用的所有服务均已配置为与消息层安全性兼容。

  1. 在管理控制台树组件中,展开“配置”节点。

  2. 选择要配置的实例:

    • 要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例 server,请选择 server-config 节点。

    • 要配置所有实例的默认设置,请选择 default-config 节点。

  3. 展开“安全性”节点。

  4. 展开“消息安全性”节点。

  5. 选择 "SOAP" 节点。

  6. 选择“消息安全性”选项卡。

  7. 在“编辑消息安全性配置”页面中,指定一个要用于服务器端的提供者和一个要用于客户端的提供者,以用于尚未绑定特定提供者的所有应用程序。

    通过修改以下可选属性来完成此操作:

    • 默认提供者—要为尚未绑定特定服务器提供者的任何应用程序调用的服务器提供者的标识。

      默认情况下,没有为 Application Server 选择任何提供者配置。要标识服务器端提供者,请选择 ServerProvider。选择空选项意味着不会在服务器端(默认情况下)调用消息安全性提供者。

      通常应在该字段中选择 ServerProvider

    • 默认客户机提供者—要为尚未绑定特定客户机提供者的任何应用程序调用的客户机提供者的标识。

      默认情况下,没有为 Application Server 选择任何提供者配置。要标识客户端提供者,请选择 ClientProvider。选择空选项意味着不会在客户端(默认情况下)调用消息安全性提供者。

      通常应在该字段中选择空。如果您要启用默认提供者和消息保护策略以应用到源于 Application Server 上所部署的 Web 服务端点的 Web 服务调用,则应选择 ClientProvider

  8. 单击“保存”。

  9. 如果您启用了客户机或服务器提供者并想要更改所启用提供者的消息保护策略,请参见配置消息安全性提供者中有关修改本步骤中所启用的消息安全性提供者的信息。

等效的 asadmin 命令

Procedure配置消息安全性提供者

通常,应重新配置提供者以修改其消息保护策略,当然提供者类型、实现类和特定于提供者的配置属性可能也需要修改。

  1. 在管理控制台树组件中,展开“配置”节点。

  2. 选择要配置的实例:

    • 要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例 server,请选择 server-config 节点。

    • 要配置所有实例的默认设置,请选择 default-config 节点。

  3. 展开“安全性”节点。

  4. 展开“消息安全性”节点。

  5. 选择 "SOAP" 节点。

  6. 选择“提供者”选项卡。

  7. 选择要编辑的消息安全性提供者。

    Application Server 附带 ClientProviderServerProvider

  8. 在“编辑提供者配置”页面的“提供者配置”部分,可以修改以下属性:

    • 提供者类型—选择 clientserverclient-server 来确定是将提供者用作客户机验证提供者、服务器验证提供者还是兼作两者(客户机-服务器提供者)。

    • 类名称—输入提供者的 Java 实现类。客户机验证提供者必须实现 com.sun.enterprise.security.jauth.ClientAuthModule 接口。服务器端提供者必须实现 com.sun.enterprise.security.jauth.ClientAuthModule 接口。一个提供者可以实现这两种接口,但该提供者必须实现对应于其提供者类型的接口。

  9. 在“创建提供者配置”页面的“请求策略”部分,根据需要输入以下可选值。

    这些属性是可选的,但如果不指定这些属性,将不会对请求消息执行任何验证。

    请求策略定义与验证提供者执行的请求处理关联的验证策略要求。按照消息发件人的顺序表达这些策略,从而使内容之后出现的加密请求表示消息收件人将在验证签名之前先要对消息进行解密。

    • 验证源—选择 sendercontent 或空(空白选项)来定义对消息层发件人验证的要求(例如用户名密码)、对内容验证的要求(例如数字签名)或不对请求消息执行任何验证。如果指定为空,则不需要进行请求的源验证。

    • 验证收件人—选择 beforeContentafterContent 来定义对发件人请求消息的收件人的消息层验证要求(通过 XML 加密)。如果不指定该值,则默认为 afterContent

    有关以下消息保护策略所导致的由 SOAP 消息安全性提供者执行的操作的说明,请参见请求策略配置和响应策略配置的操作

  10. 在“创建提供者配置”页面的“响应策略”部分,根据需要输入以下可选属性。

    这些属性是可选的,但如果不指定这些属性,将不会对响应消息执行任何验证。

    响应策略定义与验证提供者执行的响应处理关联的验证策略要求。按照消息发件人的顺序表达这些策略,从而使内容之后出现的加密请求表示消息收件人将在验证签名之前先要对消息进行解密。

    • 验证源—选择 sendercontent 或空(空白选项)来定义对要应用于响应消息的消息层发件人验证的要求(例如用户名密码)或内容验证的要求(例如数字签名)。如果指定为空,则不需要进行响应的源验证。

    • 验证收件人—选择 beforeContentafterContent 来定义对发件人响应消息的收件人的消息层验证要求(通过 XML 加密)。如果不指定该值,则默认为 afterContent

    有关以下消息保护策略所导致的由 SOAP 消息安全性提供者执行的操作的说明,请参见请求策略配置和响应策略配置的操作

  11. 通过单击“添加属性”按钮添加其他属性。

    Application Server 附带的提供者支持下面列出的属性。如果使用了其他提供者,则有关属性和有效值的更多信息,请参阅其他提供者的文档。

    • server.config—包含服务器配置信息的 XML 文件的目录和文件名。例如,domain-dir/config/wss-server-config.xml

  12. 单击“保存”。

等效的 asadmin 命令

要设置响应策略,请用 response 替换下列命令中的 request 一词。

Procedure创建消息安全性提供者

要配置现有提供者,请按照配置消息安全性提供者中的步骤进行操作。

  1. 在管理控制台树组件中,展开“配置”节点。

  2. 选择要配置的实例:

    • 要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例 server,请选择 server-config 节点。

    • 要配置所有实例的默认设置,请选择 default-config 节点。

  3. 展开“安全性”节点。

  4. 展开“消息安全性”节点。

  5. 选择 "SOAP" 节点。

  6. 选择“提供者”选项卡。

  7. 在“提供者配置”页面中,单击“新建”。

  8. 在“创建提供者配置”页面的“提供者配置”部分,输入以下信息:

    • 默认提供者—选中该字段旁边的框,以使新消息安全性提供者成为要为尚未绑定特定提供者的任何应用程序调用的提供者。提供者是成为默认客户机提供者、默认服务器提供者还是两者兼而有之,取决于为“提供者类型”所选的值。

    • 提供者类型—选择 clientserverclient-server 来确定是将提供者用作客户机验证提供者、服务器验证提供者还是兼作两者(客户机-服务器提供者)。

    • 提供者 ID—输入该提供者配置的标识符。此名称将显示在“当前提供者配置”列表中。

    • 类名称—输入提供者的 Java 实现类。客户机验证提供者必须实现 com.sun.enterprise.security.jauth.ClientAuthModule 接口。服务器端提供者必须实现 com.sun.enterprise.security.jauth.ClientAuthModule 接口。一个提供者可以实现这两种接口,但该提供者必须实现对应于其提供者类型的接口。

  9. 在“创建提供者配置”页面的“请求策略”部分,根据需要输入以下可选值。

    这些属性是可选的,但如果不指定这些属性,将不会对请求消息执行任何验证。

    • 验证源—选择 sendercontent 或空(空白选项)来定义对消息层发件人验证的要求(例如用户名密码)、对内容验证的要求(例如数字签名)或不对请求消息执行任何验证。如果指定为空,则不需要进行请求的源验证。

    • 验证收件人—选择 beforeContentafterContent 来定义对发件人请求消息的收件人的消息层验证要求(通过 XML 加密)。如果不指定该值,则默认为 afterContent

    有关以下消息保护策略所导致的由 SOAP 消息安全性提供者执行的操作的说明,请参见请求策略配置和响应策略配置的操作

  10. 在“创建提供者配置”页面的“响应策略”部分,根据需要输入以下可选属性。

    这些属性是可选的,但如果不指定这些属性,将不会对响应消息执行任何验证。

    • 验证源—选择 sendercontent 或空(空白选项)来定义对要应用于响应消息的消息层发件人验证的要求(例如用户名密码)或内容验证的要求(例如数字签名)。如果指定为空,则不需要进行响应的源验证。

    • 验证收件人—选择 beforeContentafterContent 来定义对发件人响应消息的收件人的消息层验证要求(通过 XML 加密)。如果不指定该值,则默认为 afterContent

    有关以下消息保护策略所导致的由 SOAP 消息安全性提供者执行的操作的说明,请参见请求策略配置和响应策略配置的操作

  11. 通过单击“添加属性”按钮添加其他属性。

    Application Server 附带的提供者支持下面列出的属性。如果使用了其他提供者,则有关属性和有效值的更多信息,请参阅其他提供者的文档。

    • server.config—包含服务器配置信息的 XML 文件的目录和文件名。例如,domain-dir/config/wss-server-config.xml

  12. 单击“确定”保存此配置,或单击“取消”退出而不保存更改。

等效的 asadmin 命令

create-message-security-provider

Procedure删除消息安全性配置

  1. 在管理控制台树组件中,展开“配置”节点。

  2. 选择要配置的实例:

    • 要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例 server,请选择 server-config 节点。

    • 要配置所有实例的默认设置,请选择 default-config 节点。

  3. 展开“安全性”节点。

  4. 选择“消息安全性”节点。

  5. 单击要删除的消息安全性配置左侧的复选框。

  6. 单击“删除”。

Procedure删除消息安全性提供者

  1. 在管理控制台树组件中,展开“配置”节点。

  2. 选择要配置的实例:

    • 要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例 server,请选择 server-config 节点。

    • 要配置所有实例的默认设置,请选择 default-config 节点。

  3. 展开“安全性”节点。

  4. 展开“消息安全性”节点。

  5. 选择 "SOAP" 节点。

  6. 选择“提供者”页面。

  7. 单击要删除的提供者配置左侧的复选框。

  8. 单击“删除”。

等效的 asadmin 命令

delete-message-security-provider

Procedure启用应用程序客户机的消息安全性

必须配置客户机提供者的消息保护策略,以使其等效于将与其进行交互的服务器端提供者的消息保护策略。在安装 Application Server 时已配置(但未启用)的提供者已符合此情况。

要启用客户机应用程序的消息安全性,请修改应用程序客户机容器特定于 Application Server 的配置。

  1. 停止所有取决于客户机容器描述符的客户机应用程序。

  2. 在文本编辑器中打开 Sun 应用程序客户机容器描述符(位于 domain-dir/config/sun-acc.xml 中)。

  3. default-client-provider 元素添加至该文件,以在应用程序客户机中启用默认客户机提供者。

    还提供了其他代码,以显示启用客户机应用程序的消息安全性的代码所在的位置。您的安装中的其他代码可能会稍有不同。请勿对其进行更改。


    <client-container>
      <target-server name="your-host" address="your-host"
          port="your-port"/>
      <log-service file="" level="WARNING"/>
      <message-security-config auth-layer="SOAP"
          default-client-provider="ClientProvider">
        <provider-config
            class-name="com.sun.enterprise.security.jauth.ClientAuthModule"
            provider-id="ClientProvider" provider-type="client">
          <request-policy auth-source="sender"/>
          <response-policy/>
            <property name="security.config"
              value="C:/Sun/AppServer/lib/appclient/wss-client-config.xml"/>
        </provider-config>
      </message-security-config>
    </client-container>

    客户机容器中配置的消息安全性提供者还需要具有对专用密钥和信任证书的访问权限。这将通过为以下系统属性(位于应用程序客户机启动脚本中)定义适当的值来完成。

    -Djavax.net.ssl.keyStore
    -Djavax.net.ssl.trustStore

设置应用程序客户机配置的请求策略和响应策略

请求策略和响应策略定义与验证提供者执行的请求处理和响应处理关联的验证策略要求。按照消息发件人的顺序表达这些策略,从而使内容之后出现的加密请求表示消息收件人将在验证签名之前先要对消息进行解密。

要获得消息安全性,必须既在服务器中也在客户机中启用请求策略和响应策略。在客户机和服务器中配置策略时,请确保请求/响应应用程序级别消息绑定的保护的客户机策略与服务器策略匹配。

要设置应用程序客户机配置的请求策略,请按启用应用程序客户机的消息安全性中所述,修改应用程序客户机容器特定于 Application Server 的配置。在应用程序客户机配置文件中,按所示添加 request-policyresponse-policy 元素设置请求策略。

提供的其他代码可用作参考。您的安装中的其他代码可能会稍有不同。请勿对其进行更改。


<client-container>
  <target-server name="your-host" address="your-host"
      port="your-port"/>
  <log-service file="" level="WARNING"/>
  <message-security-config auth-layer="SOAP"
      default-client-provider="ClientProvider">
    <provider-config
        class-name="com.sun.enterprise.security.jauth.ClientAuthModule"
        provider-id="ClientProvider" provider-type="client">
      <request-policy auth-source="sender | content"
        auth-recipient="after-content | before-content"/>
      <response-policy auth-source="sender | content"
        auth-recipient="after-content | before-content"/>
       <property name="security.config"
           value="install-dir/lib/appclient/wss-client-config.xml"/>
    </provider-config>
  </message-security-config>
</client-container>

auth-source 的有效值包括 sendercontentauth-recipient 的有效值包括 before-contentafter-content请求策略配置和响应策略配置的操作中包含一个表,用于说明这些值的各种组合的结果。

如果不想指定请求策略或响应策略,请将该元素保留为空,例如:


<response-policy/>

更多信息