📄 ws-security.html
字号:
<div class="pSmartList1"><ul class="pSmartList1"><a name="wp929573"> </a><div class="pSmartList1"><li>在上游角色(开发者或汇编者)尚未指定任何所需的特定于应用程序的消息保护策略时,指定这些策略(在应用程序汇编时)。</li></div><a name="wp929575"> </a><div class="pSmartList1"><li>修改特定于 Sun 的部署描述符以为 Web 服务端点和服务引用指定特定于应用程序的消息保护策略信息(即 message-security-binding 元素)。</li></div></ul></div><a name="wp929581"> </a><p class="pParagraph">Developer's Guide 的 "<em class="cEmphasis">Securing Applications</em>" 一章中讨论了这些安全性任务。(有关指向本章的链接,请参见“<a href="ws-security.html#wp930504" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930504">详细信息</a>”。) </p><a name="wp929585"> </a><h5 class="pHeading4">应用程序开发者</h5><a name="wp929587"> </a><p class="pParagraph">应用程序开发者可以打开消息安全性,但并不是必须要这样做。消息安全性可以由系统管理员设置,从而确保所有 Web 服务的安全;或者由应用程序部署者设置,这适用于绑定到应用程序的提供者或保护策略与绑定到容器的提供者或保护策略不同的情况。</p><a name="wp929589"> </a><p class="pParagraph">应用程序开发者或汇编者负责:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp929591"> </a><div class="pSmartList1"><li>确定应用程序是否需要特定于应用程序的消息保护策略。如果需要,则确保所需策略在应用程序汇编时指定,这可以通过与应用程序部署者沟通来完成。</li></div></ul></div><a name="wp929595"> </a><h4 class="pHeading3">关于安全令牌和安全机制</h4><a name="wp929597"> </a><p class="pParagraph">WS-Security 规范为使用安全令牌来验证和加密 SOAP Web 服务消息提供了可扩展机制。可以使用与 Application Server 一起安装的 SOAP 层消息安全性提供者来选取用户名/密码和 X509 证书安全令牌,以验证和加密 SOAP Web 服务消息。选取其他安全令牌(包括 SAML 断言)的附加提供者将与 Application Server 的后续版本一起安装。</p><a name="wp929599"> </a><h5 class="pHeading4">关于用户名令牌</h5><a name="wp929601"> </a><p class="pParagraph">Application Server 使用 SOAP 消息中的<em class="cEmphasis">用户名令牌</em>来建立消息<em class="cEmphasis">发件人</em>的验证标识。包含用户名令牌(在嵌入式密码中)的消息的收件人通过确认发件人是否知道用户的秘密(即密码),来验证消息发件人是否为经过授权的用户(在令牌中标识)。</p><a name="wp929607"> </a><p class="pParagraph">使用用户名令牌时,必须在 Application Server 中配置有效的用户数据库。有关该主题的更多信息,请参阅“<a href="security.html#wp527965" tppabs="http://docs.sun.com/source/819-1553/security.html#wp527965">编辑区域</a>”。</p><a name="wp929609"> </a><h5 class="pHeading4">关于数字签名</h5><a name="wp929611"> </a><p class="pParagraph">Application Server 使用 XML 数字签名将验证标识绑定到消息<em class="cEmphasis">内容</em>中。客户机使用数字签名来建立它们的呼叫者标识,其方法与使用传输层安全性时用基本验证或 SSL 客户机证书验证建立呼叫者标识的方法相似。消息收件人将检验数字签名以验证消息内容的源(可能与消息的发件人不同)。</p><a name="wp929617"> </a><p class="pParagraph">使用数字签名时,必须在 Application Server 中配置有效的密钥库和信任存储文件。有关该主题的更多信息,请参阅“<a href="security.html#wp529850" tppabs="http://docs.sun.com/source/819-1553/security.html#wp529850">关于证书文件</a>”。</p><a name="wp929619"> </a><h5 class="pHeading4">关于加密</h5><a name="wp929621"> </a><p class="pParagraph">加密的目的是将数据修改为只有目标读者能理解的形式。加密过程通过用加密元素代替原始内容来完成。像公共密钥加密指出的那样,可以使用加密来建立能够阅读消息的一方或多方的标识。 </p><a name="wp929627"> </a><p class="pParagraph">使用加密时,必须先安装支持加密的 JCE 提供者。有关该主题的更多信息,请参阅“<a href="ws-security.html#wp929861" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929861">配置 JCE 提供者</a>”。</p><a name="wp929629"> </a><h5 class="pHeading4">关于消息保护策略</h5><a name="wp929631"> </a><p class="pParagraph">消息保护策略是针对消息处理请求和消息处理响应而定义的,并根据对源和/或收件人验证的要求来进行表达。源验证策略代表一个请求,即在消息中建立发送了消息或定义了消息内容的实体的标识,以使其可以由消息收件人进行验证。收件人验证策略代表一个请求,即发送消息,以使可以接收消息的实体的标识可以由消息发件人建立。提供者将应用特定的消息安全性机制以使消息保护策略在 SOAP Web 服务消息的上下文中实现。</p><a name="wp929637"> </a><p class="pParagraph">在给容器配置提供者时,将定义请求和响应的消息保护策略。特定于应用程序的消息保护策略(以 Web 服务端口或操作的粒度级别)也可以在应用程序或应用程序客户机的特定于 Sun 的部署描述符中进行配置。在任何情况下,如果定义了消息保护策略,则客户机请求和响应的消息保护策略必须与服务器请求和响应的消息保护策略相匹配(即二者相当)。有关定义特定于应用程序的消息保护策略的更多信息,请参阅 Developer's Guide 的 "<em class="cEmphasis">Securing Applications</em>" 一章。“<a href="ws-security.html#wp930504" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930504">详细信息</a>”中有指向该章的链接。</p><a name="wp929641"> </a><h4 class="pHeading3">消息安全性术语表</h4><a name="wp929647"> </a><p class="pParagraph">以下介绍了此文档中所用到的术语。“<a href="ws-security.html#wp929791" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929791">配置 Application Server 以实现消息安全性</a>”中也说明了这些概念。</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp929649"> </a><div class="pSmartList1"><li>验证层</li></div></ul></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp929651"> </a><p class="pParaIndent1"><em class="cEmphasis">验证层</em>是必须执行验证处理的消息层。Application Server 将在 SOAP 层强制执行 Web 服务消息安全性。</p></ul></div><div class="pSmartList1"><ul class="pSmartList1"><a name="wp929653"> </a><div class="pSmartList1"><li>验证提供者</li></div></ul></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp929655"> </a><p class="pParaIndent1">在此版本的 Sun Java Systems Application Server 中,Application Server 调用<em class="cEmphasis">验证提供者</em>来处理 SOAP 消息层安全性。</p><div class="pSmartList2"><ul class="pSmartList2"><a name="wp929657"> </a><div class="pSmartList2"><li><em class="cEmphasis">客户端提供者</em>可以建立(通过签名或用户名/密码)请求消息的源标识和/或保护(通过加密)请求消息,从而使这些消息只能由其目标收件人查看。客户端提供者还可以将其容器建立为收到的响应的已授权收件人(通过成功地解密),并验证响应中的密码或签名来验证与此响应相关联的源标识。在 Application Server 中配置的客户端提供者可用于作为其他服务的客户机来保护服务器端组件(即 Servlet 和 EJB)所发送的请求消息和所接收的响应消息。</li></div><a name="wp929659"> </a><div class="pSmartList2"><li><em class="cEmphasis">服务器端提供者</em>将其容器建立为收到的请求的已授权收件人(通过成功地解密),并验证请求中的密码或签名以验证与该请求相关联的源标识。服务器端提供者还将建立(通过签名或用户名/密码)响应消息的源标识和/或保护(通过加密)响应消息,以使这些消息只能由其目标收件人查看。<em style="font-style: normal" class="cEmphasis">服务器端提供者</em>仅由服务器端容器调用。</li></div></ul></div></ul></div><div class="pSmartList1"><ul class="pSmartList1"><a name="wp929661"> </a><div class="pSmartList1"><li>默认服务器提供者</li></div></ul></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp929663"> </a><p class="pParaIndent1"><em class="cEmphasis">默认服务器提供者</em>用于标识服务器提供者,系统将调用该服务器提供者以用于尚未绑定特定服务器提供者的任何应用程序。<em class="cEmphasis">默认服务器提供者</em>有时被称为<em class="cEmphasis">默认提供者</em>。 </p></ul></div><div class="pSmartList1"><ul class="pSmartList1"><a name="wp929665"> </a><div class="pSmartList1"><li>默认的客户机提供者</li></div></ul></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp929667"> </a><p class="pParaIndent1"><em class="cEmphasis">默认客户机提供者</em>用于标识客户机提供者,系统将调用该客户机提供者以用于尚未绑定特定客户机提供者的任何应用程序。</p></ul></div><div class="pSmartList1"><ul class="pSmartList1"><a name="wp929669"> </a><div class="pSmartList1"><li>请求策略</li></div></ul></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp929671"> </a><p class="pParaIndent1"><em class="cEmphasis">请求策略</em>定义与验证提供者执行的请求处理关联的验证策略要求。按照消息发件人的顺序表达这些策略,从而使内容之后出现的加密请求表示消息收件人将在验证签名之前先要对消息进行解密。</p></ul></div><div class="pSmartList1"><ul class="pSmartList1"><a name="wp929673"> </a><div class="pSmartList1"><li>响应策略</li></div></ul></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp929675"> </a><p class="pParaIndent1"><em class="cEmphasis">响应策略</em>定义与验证提供者执行的响应处理关联的验证策略要求。按照消息发件人的顺序表达这些策略,从而使内容之后出现的加密请求表示消息收件人将在验证签名之前先要对消息进行解密。</p></ul></div><a name="wp929701"> </a><h3 class="pHeading2">确保 Web 服务的安全</h3><a name="wp929703"> </a><p class="pParagraph">通过将 SOAP 层消息安全性提供者和消息保护策略绑定到部署有应用程序的容器或绑定到应用程序提供的 Web 服务端点,来确保在 Application Server 中部署的 Web 服务的安全。通过将 SOAP 层消息安全性提供者和消息保护策略绑定到客户机容器或绑定到由客户机应用程序声明的可移植服务引用,从而在 Application Server 的客户端容器中配置 SOAP 层消息安全性功能。 </p><a name="wp929705"> </a><p class="pParagraph">安装了 Application Server 后,将在 Application Server 的客户机和服务器端容器中配置 SOAP 层消息安全性提供者,这些提供者可由容器或容器中部署的各个应用程序或客户机进行绑定使用。在安装过程中,这些提供者将配置简单的消息保护策略,即如果被绑定到容器或者绑定到容器中的应用程序或客户机,将导致所有请求和响应消息中的内容源由 XML 数字签名进行验证。</p><a name="wp929715"> </a><p class="pParagraph">可以采用 Application Server 的管理界面来绑定现有提供者以便供 Application Server 的服务器端容器使用,修改由提供者强制执行的消息保护策略,或使用替代的消息保护策略来创建新的提供者配置。“<a href="ws-security.html#wp929913" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929913">有关消息安全性的管理控制台任务</a>”中定义了这些操作。可以在应用程序客户机容器的 SOAP 消息层安全性配置上执行类似的管理操作,如“<a href="ws-security.html#wp930420" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930420">启用客户机应用程序的消息安全性</a>”中所定义。</p><a name="wp929729"> </a><p class="pParagraph">默认情况下,Application Server 中的消息层安全性处于禁用状态。要配置 Application Server 的消息层安全性,请按照“<a href="ws-security.html#wp929791" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929791">配置 Application Server 以实现消息安全性</a>”中列出的步骤进行操作。如果您要使 Web 服务安全性用于保护在 Application Server 上部署的所有 Web 服务应用程序,请按照“<a href="ws-security.html#wp929961" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929961">启用消息安全性提供者</a>”和“<a href="ws-security.html#wp930420" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930420">启用客户机应用程序的消息安全性</a>”中的步骤进行操作。</p><a name="wp929731"> </a><p class="pParagraph">完成以上步骤(可能包括重新启动 Application Server)后,Web 服务安全性将应用到 Application Server 中部署的所有 Web 服务应用程序。</p><a name="wp929735"> </a><h4 class="pHeading3">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -