⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ws-security.html

📁 Sun Java System Application Server Enterprise Edition 8.1 管理指南
💻 HTML
📖 第 1 页 / 共 5 页
字号:
配置特定于应用程序的 Web 服务安全性</h4><a name="wp929737"> </a><p class="pParagraph">通过在应用程序的特定于 Sun 的部署描述符中定义 message-security-binding 元素,可以配置特定于应用程序的 Web 服务安全性功能(在应用程序汇编时)。这些 message-security-binding 元素用于将特定提供者或消息保护策略与 Web 服务端点或服务引用相关联,并可以被限定以使这些元素应用到相应端点或引用服务的特定端口或方法。</p><a name="wp929743"> </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="wp929769"> </a><h3 class="pHeading2">确保样例应用程序的安全</h3><a name="wp929771"> </a><p class="pParagraph">Application Server 附带了名为 <code class="cCode">xms</code> 的样例应用程序。<code class="cCode">xms</code> 应用程序具有简单的 Web 服务功能,它由 J2EE EJB 端点和 Java Servlet 端点共同实现。这两个端点共享同一个服务端点接口。服务端点接口定义了单个操作 (<code class="cCode">sayHello</code>),此操作将获取一个字符串参数,并将由前置 <code class="cCode">Hello</code> 编写的 <code class="cCode">String</code> 返回到调用参数中。 </p><a name="wp929777"> </a><p class="pParagraph">将提供 <code class="cCode">xms</code> 样例应用程序来演示 Application Server 的 WS-Security 功能的用途,以确保现有 Web 服务应用程序的安全。样例附带的说明介绍了如何启用 Application Server 的 WS-Security 功能以使其用于确保 <code class="cCode">xms</code> 应用程序的安全。样例还将演示如何向应用程序直接绑定 WS-Security 功能(如“<a  href="ws-security.html#wp929735" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929735">配置特定于应用程序的 Web 服务安全性</a>”中所述)以使其特定应用于应用程序。</p><a name="wp929779"> </a><p class="pParagraph"><code class="cCode">xms</code> 样例应用程序安装在以下目录中:<em class="cEmphasis">install_dir</em><code class="cCode">\samples\webservices\security\ejb\apps\xms\</code></p><a name="wp929785"> </a><p class="pParagraph">有关编译、封装和运行 <code class="cCode">xms</code> 样例应用程序的信息,请参阅 Developer&#39;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="wp929791"> </a><h3 class="pHeading2">配置 Application Server 以实现消息安全性</h3><a name="wp929793"> </a><p class="pParagraph">Application Server 使用在其 SOAP 处理层中集成的消息安全性提供者来实现消息安全性。消息安全性提供者取决于 Application Server 的其他安全性工具。</p><a name="wp929795"> </a><p class="pParagraph">要配置这些其他工具,请执行以下步骤:</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp929797"> </a><div class="pSmartList1"><li>如果使用的 Java SDK 的版本早于 1.5.0,而且使用了加密技术,请配置 JCE 提供者。</li></div><a name="wp929803"> </a><p class="pStepParaI1">“<a  href="ws-security.html#wp929861" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929861">配置 JCE 提供者</a>”中说明了如何配置 JCE 提供者。</p><a name="wp929805"> </a><div class="pSmartList1"><li>如果使用了用户名令牌,请在必要时配置用户数据库。使用用户名/密码令牌时,必须配置适当的区域并为该区域配置适当的用户数据库。</li></div><a name="wp929811"> </a><p class="pStepParaI1">“<a  href="security.html#wp527965" tppabs="http://docs.sun.com/source/819-1553/security.html#wp527965">编辑区域</a>”中说明了如何配置用户数据库。</p><a name="wp929813"> </a><div class="pSmartList1"><li>管理证书和专用密钥(如有必要)。</li></div><a name="wp929819"> </a><p class="pStepParaI1">“<a  href="security.html#wp529850" tppabs="http://docs.sun.com/source/819-1553/security.html#wp529850">关于证书文件</a>”中说明了如何管理证书和专用密钥。</p></ol></div><a name="wp929825"> </a><p class="pParagraph">如果已将 Application Server 的工具配置为供消息安全性提供者使用,则将会启用随 Application Server 一起安装的提供者,如“<a  href="ws-security.html#wp929961" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929961">启用消息安全性提供者</a>”中所述。</p><a name="wp929861"> </a><h4 class="pHeading3">配置 JCE 提供者</h4><a name="wp929869"> </a><p class="pParagraph">J2SE 1.4.x 中包括的 Java 加密扩展 (JCE) 提供者不支持 RSA 加密。由于由 WS-Security 所定义的 XML 加密通常是基于 RSA 加密,因此为了使用 WS-Security 来加密 SOAP 消息,您必须下载并安装支持 RSA 加密的 JCE 提供者。</p><a name="wp929871"> </a><p class="pParagraph"><b class="cBold">注:</b>RSA 是 RSA Data Security, Inc. 开发的公共密钥加密技术。RSA 缩略词分别代表该技术的三位发明者:Rivest、Shamir 和 Adelman。</p><a name="wp929873"> </a><p class="pParagraph">如果是在 1.5 版的 Java SDK 中运行 Application Server,则已正确配置了 JCE 提供者。如果是在 1.4.x 版的 Java SDK 中运行 Application Server,请执行以下步骤以静态方式将 JCE 提供者添加为 JDK 环境的一部分。</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp929875"> </a><div class="pSmartList1"><li>下载并安装 JCE 提供者 JAR(Java 归档)文件。通过以下 URL 可以获得支持 RSA 加密的 JCE 提供者的列表:</li></div></ol></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp929879"> </a><p class="pParaIndent1"><a  href="javascript:if(confirm('http://java.sun.com/products/jce/jce14_providers.html  \n\n该文件无法用 Teleport Ultra 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。  \n\n你想在服务器上打开它?'))window.location='http://java.sun.com/products/jce/jce14_providers.html'" tppabs="http://java.sun.com/products/jce/jce14_providers.html"></a>http://java.sun.com/products/jce/jce14_providers.html</p></ul></div><div class="pSmartList1"><ol start="2" type="1" class="pSmartList1"><a name="wp929881"> </a><div class="pSmartList1"><li>将 JCE 提供者 JAR 文件复制到 <code class="cCode">&lt;</code><em class="cEmphasis">JAVA_HOME</em><code class="cCode">&gt;/jre/lib/ext/</code> 中。</li></div><a name="wp929883"> </a><div class="pSmartList1"><li>停止 Application Server。如果未停止 Application Server 而后来又在该进程中重新启动了 Application Server,则 Application Server 将无法识别 JCE 提供者。</li></div><a name="wp929885"> </a><div class="pSmartList1"><li>在任何一种文本编辑器中编辑 <code class="cCode">&lt;</code><em class="cEmphasis">JAVA_HOME</em><code class="cCode">&gt;/jre/lib/security/java.security</code> 属性文件。将刚才下载的 JCE 提供者添加到此文件。<code class="cCode">java.security</code> 文件包含添加该提供者的详细说明。通常,您需要在具有类似属性的某个位置处添加一行,其格式如下: </li></div><a name="wp929887"> </a><code class="pCodelineIndent">security.provider.&lt;n&gt;=&lt;provider class name&gt;</code></ol></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp929889"> </a><p class="pParaIndent1">在本示例中,&lt;<em class="cEmphasis">n</em>&gt; 是 Application Server 评估安全性提供者时使用的优先级顺序。将刚才添加的 JCE 提供者的 &lt;<em class="cEmphasis">n</em>&gt; 值设置为 <code class="cCode">2</code>。 </p><a name="wp929891"> </a><p class="pStepParaI1">例如,如果下载的是 Legion of the Bouncy Castle JCE 提供者,则应添加以下行。</p><a name="wp929893"> </a><code class="pCodelineIndent">security.provider.2=org.bouncycastle.jce.provider.<br />BouncyCastleProvider</code><a name="wp929895"> </a><p class="pParaIndent1">确保将 Sun 安全性提供者保持在最高优先级,值为 1。</p><a name="wp929897"> </a><code class="pCodelineIndent">security.provider.1=sun.security.provider.Sun</code><a name="wp929899"> </a><p class="pParaIndent1">将其他安全性提供者的优先级调低,从而使每个优先级上只有一个安全性提供者。</p><a name="wp929901"> </a><p class="pParaIndent1">以下是提供所需 JCE 提供者并将现有提供者保持在正确位置的 <code class="cCode">java.security</code> 文件的示例。</p><a name="wp929903"> </a><code class="pCodelineIndent">security.provider.1=sun.security.provider.Sun<br />security.provider.2=org.bouncycastle.jce.provider.<br />BouncyCastleProvider<br />security.provider.3=com.sun.net.ssl.internal.ssl.Provider<br />security.provider.4=com.sun.rsajca.Provider<br />security.provider.5=com.sun.crypto.provider.SunJCE<br />security.provider.6=sun.security.jgss.SunProvider</code></ul></div><div class="pSmartList1"><ol start="5" type="1" class="pSmartList1"><a name="wp929905"> </a><div class="pSmartList1"><li>保存并关闭文件。</li></div><a name="wp929907"> </a><div class="pSmartList1"><li>重新启动 Application Server。</li></div></ol></div><a name="wp929913"> </a><h2 class="pHeading1"><hr />有关消息安全性的管理控制台任务</h2><a name="wp929915"> </a><p class="pParagraph">为使用消息安全性而对 Application Server 进行设置的大部分步骤都可以通过使用管理控制台、<code class="cCode">asadmin</code> 命令行工具或通过手动编辑系统文件来完成。通常,不建议使用编辑系统文件,因为它可能会导致出现无意识的更改而使 Application Server 不能正常运行,所以,如有可能,建议优先选择使用管理控制台来配置 Application Server,其次选择使用 <code class="cCode">asadmin</code> 工具命令。仅在无管理控制台或等效的 <code class="cCode">asadmin</code> 时,才使用手动编辑系统文件步骤。</p><a name="wp929917"> </a><p class="pParagraph">以(可插入)验证模块的形式将消息层安全性支持集成到 Application Server 及其客户机容器中。默认情况下,Application Server 中的消息层安全性处于禁用状态。以下各节提供了启用、创建、编辑和删除消息安全性配置和提供者的详细信息。</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp929923"> </a><div class="pSmartList1"><li><a  href="ws-security.html#wp929961" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp929961">启用消息安全性提供者</a></li></div><a name="wp929929"> </a><div class="pSmartList1"><li><a  href="ws-security.html#wp930051" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930051">配置消息安全性提供者</a></li></div><a name="wp929935"> </a><div class="pSmartList1"><li><a  href="ws-security.html#wp930175" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930175">创建消息安全性提供者</a></li></div><a name="wp929941"> </a><div class="pSmartList1"><li><a  href="ws-security.html#wp930302" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930302">删除消息安全性配置</a></li></div><a name="wp929947"> </a><div class="pSmartList1"><li><a  href="ws-security.html#wp930358" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930358">删除消息安全性提供者</a></li></div><a name="wp929953"> </a><div class="pSmartList1"><li><a  href="ws-security.html#wp930420" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930420">启用客户机应用程序的消息安全性</a></li></div></ul></div><a name="wp929955"> </a><p class="pParagraph">大多数情况下,在执行以上列出的管理操作后应重新启动 Application Server。它尤其适用于当执行完操作时,您要将管理更改的效果应用到 Application Server 上已部署的应用程序中的情况。</p><a name="wp929961"> </a><h3 class="pHeading2">启用消息安全性提供者</h3><a name="wp929967"> </a><p class="pParagraph">要为在 Application Server 中部署的 Web 服务端点启用消息安全性,必须指定要在服务器端默认使用的提供者。如果启用了消息安全性的默认提供者,您还需要启用要由 Application Server 中部署的 Web 服务客户机所使用的提供者。<a  href="ws-security.html#wp930420" tppabs="http://docs.sun.com/source/819-1553/ws-security.html#wp930420">启用客户机应用程序的消息安全性</a>中说明了有关启用客户机使用的提供者的信息。</p><a name="wp929969"> </a><p class="pParagraph">要为源于已部署的端点的 Web 服务调用启用消息安全性,您必须指定默认客户机提供者。如果已为 Application Server 启用了默认客户机提供者,则必须确保从 Application Server 中部署的端点中调用的所有服务均已配置为与消息层安全性兼容。</p><a name="wp929971"> </a><p class="pParagraph">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -