问题标签 [ws-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2221 浏览

web-services - 开发一个安全的 WS 客户端来使用带有 Rampart WS 安全模块的 Axis2 Web 服务?

我有一个使用 Rampart 保护的 Axis2 Web 服务。我确实想为它开发安全客户端,最好是基于 JAX-WS 的。我尝试了很多教程,但它们之间的联系非常紧密,比如在客户端包含 Axis2 库。客户端应该完全独立于 WS 服务框架,因为该服务可以由基于 .NET 的客户端甚至基于 PHP 的客户端使用。

提前致谢...

0 投票
1 回答
1368 浏览

ejb-3.0 - How to use WS-Security with EJB3?

For one of our projects, I should be able to call a webservice that uses WS-Security, i.e. the SOAP request should be signed with an X.509 certificate. I've been doing some tests to call the webservice through the use of the WebServiceRef annotation and I'm able to call the webservice without WS-Security.

So my question is: how can I activate and/or configure WS-Security when using the WebServiceRef annotation ?

Regards, Stefan Lecho.

0 投票
3 回答
615 浏览

web-services - 如何保护 ws discovery ad hoc 网络免受中间人攻击

ws-discovery 规范解释了如何保护您的网络免受

  1. 消息更改
  2. 拒绝服务
  3. 重播
  4. 欺骗

但是中间人攻击呢?

0 投票
2 回答
10429 浏览

java - Spring-WS:如何将 WebserviceTemplate 与预先生成的 SOAP 信封一起使用

您可以使用 Spring-WS WebserviceTemplate 来调用 Web 服务并避免它生成 SOAP 信封吗?也就是说,该消息已经包含一个 SOAP 信封,我不希望 WebserviceTemplate 将另一个包裹在它周围。:-)

我想要这个的原因是我想调用一个使用 ws-security 的 web 服务,并且不想将 ws-security 的东西放入 WebserviceTemplate,而只是想用预先生成的 ws-security 向它提供一条消息SOAP 信封中的信息。我尝试使用 Source 调用方法sendSourceAndReceiveToResult已经包含带有 WS-Security 内容的 Soap-Envelope,并且 Web 服务模板环绕另一个 Soap-Envelope 并因此破坏了消息。

0 投票
4 回答
23090 浏览

.net - 使用 RESTful WCF 和 Windows 窗体的用户/通过身份验证

为与 IIS 托管的 RESTful WCF 服务对话的 Windows 窗体应用程序实施授权/身份验证的最佳方法是什么?

我问的原因是我很困惑,在筛选了不同的文章和帖子后,表达了不同的方法,最终找到了关于 WCF 安全最佳实践的约 650 页文档”(http://www.codeplex.com/WCFSecurityGuide)我是鉴于我的情况,只是不确定哪种方法是最好的,以及如何开始实施。

我从这篇文章“使用 WCF 3.5 设计和构建 RESTful Web 服务的指南”(http://msdn.microsoft.com/en-us/library/dd203052.aspx)和一个关于 RESTful WCF 服务的 PDC 视频开始,其中很棒,帮助我实现了我的第一个 REST 友好型 WCF 服务,

服务工作后,我返回实施安全性,请参阅。“安全注意事项”(页面下方的四分之一)并尝试按照说明实现 HTTP 授权标头,但是我发现代码不完整(请参阅从未声明过“UserKeys”变量的方式)。这就是我尝试更多地研究如何做到这一点(使用带有“授权”HTTP 标头的 HMAC 哈希,但在 google 上找不到太多内容?)它引导我阅读其他有关消息级安全性的文章,形成身份验证和自定义验证器,坦率地说,我不确定现在采取哪种方法是最好和最合适的。

综上所述(感谢您一直以来的聆听!),我想我的主要问题是,

- 我应该使用哪种安全实现?

- 有什么方法可以避免在每次 WCF 调用时发送用户名/密码?如果一开始就建立了连接,我不希望发送这些额外的字节,这将是在登录后允许进行后续调用之前。

- 如果我使用 SSL,我是否真的应该关心纯文本以外的任何内容?

如前所述,.NET 3.5 win forms 应用程序,IIS 托管的 WCF 服务,但重要的是我希望任何和所有 WCF 服务都需要此授权过程(但应该是会话、http 标头或其他),因为我不需要希望任何人都能够通过网络访问这些服务。

我知道上面的帖子很大,但我必须表达我已经失败的路线以及我需要完成的工作,非常感谢任何和所有帮助。

PS:我也知道这篇文章How to configure secure RESTful services with WCF using username/password + SSL如果社区建议我从 REST 转向 WCF 服务,我可以这样做,但是我开始这样做是为了保持一致性任何公共 API 的到来。

我认为重要的是我要说明我如何访问我的 WCF 服务(联系服务正在工作,但是验证凭据的最佳方法是什么 - 然后返回成员对象?):

从 MS 文章中实现了一半的代码(以及我自己的一些用于测试的代码):

0 投票
1 回答
5239 浏览

web-services - 使用安全 UserNameToken 的 web 服务

出于安全原因,我正在尝试解决我们使用 glassfish V2 使用普通 UserNameToken 发布简单 Web 服务的问题。由于我们使用 Netbeans 6.5 来存档,因此我们正在研究本教程

因此,完成了以下步骤: 在我们的开发环境中,我们安装了 Sun Java(TM) 系统访问管理器,并且可以通过管理控制台和 Netbeans IDE 来管理它。都好。本教程中的示例运行良好,因此我们认为我们可以继续前进。

在更改了 Web 服务的安全选项后,我们在没有安装任何 Netbeans 的情况下将其发布到了我们的测试环境中。

之后,完成了以下步骤:

  1. 部署服务
  2. 在 Access Manager 中为 IP 地址配置领域
  3. 设置预期用户以访问 Web 服务。

当我们的合作伙伴现在访问 Web 服务时,实际的 Web 服务代码没有被访问,我们总是在服务器日志中发现安全标头未被理解。

这是我们在服务器收到的消息:

我们的 wsit.xml 看起来像这样:

有谁知道这里可能缺少什么配置?

我们还意识到,在打开安全性(AM 安全性)后,在 IDE 中会在 configuration files/amserver 下创建一个名为 amconfig.xml 的文件。

部署服务后,我们在网络服务器上、*.war 或 addons/amserver 下都找不到这个文件。

该文件内部如下所示:

由于信息已经在sun-web.xml服务器上发布,我认为这不应该是问题,但可能对您有所帮助。

0 投票
4 回答
25288 浏览

java - 您如何将 TLS/SSL Http 身份验证与 CXF 客户端一起用于 Web 服务?

我正在尝试访问受证书保护的 Web 服务。安全性是在 IIS 上设置的,Web 服务在其背后。

我认为 WS-SECURITY 不会进行这种类型的身份验证。调用Web服务时有什么方法可以通过客户端证书吗?

我刚刚收到一个 IIS 错误页面,上面写着“该页面需要客户端证书”。

我正在使用 CXF 2.1.4

0 投票
1 回答
1551 浏览

ant - 如何使用 WLS Ant Tasks 构建包含策略文件的 EAR?

我一直在使用带有 Weblogic Server 的 JAX-WS,使用他们的 Ant 任务来构建可以部署在服务器上的 EAR 文件。我已经获得了使用 JAX-WS 的基本 SOAP 调用,但现在我正在尝试通过 WS-Security 添加一些消息级安全性。

根据文档,有两种方法可以向 Web 服务添加安全策略。一种是在 Java 源代码本身上使用注释,但这意味着策略是永久设置的。第二种方法是将策略文件添加到 EAR 文件中,然后允许管理员在部署后设置 Web 服务的策略。

虽然文档提到了必须将策略文件放在哪里,但它没有解释在使用 Ant 进行构建时如何自动添加这些策略文件。每次构建/重新部署 EAR 时手动添加策略文件的测试完全太费力了。这是我现在用来构建 EAR 文件的 Ant 代码:

如何将带有策略文件的 EAR 自动构建到正确的位置?我最感兴趣的是将它构建到 Java WAR 文件中的 WEB-INF/policies 中。您可以假设我手头有策略文件,并且可以在构建之前参考它们。

0 投票
5 回答
8390 浏览

.net - 如何使用 .Net 构建安全的 Web 服务?

我需要构建一个简单的 Web 服务来通过 Internet 将数据输入和输出 HR 系统(这是一个托管解决方案)。我将 IIS 和 ASP.Net 与 .Net 2.0 一起使用。

经过研究,有几种方法可以确保 Web 服务的安全 - 我正在就选择哪种方法提出一些建议,并对优缺点提出一些看法。

这些是我知道的方法:

基于 SSL 的 SoapHeaders

在 Soap 标头中发布 UID/PWD 并实现 SOAP 扩展(链接)。
实现起来非常简单,并且通过 SSL 应该非常安全。由于相对简单,这是迄今为止我的首选选择。此外,由于历史原因,我需要从 VBScript 中使用 Web 服务,因此能够处理简单的 SOAP 是一个额外的好处。 但是,有什么注意事项吗?我会让客户抱怨这是一个安全风险吗?

将 WCF 与 TransportWithMessageCredential 一起使用

我发现很多旧文章都提到了 WS,如果我没记错的话,这就是 WCF 现在提供的吗?这个微软链接有一个入门。
如果我理解正确,这将在客户端和服务器之间使用基于证书的安全性进行身份验证。这是正确的还是我完全错了?
我怀疑这将是一项更大的工作,至少在实施方面是这样。此外,我将无法直接从 VBScript 访问 Web 服务,因此必须编写一个调用调用的 dll,然后在本地部署它——对吗?
这甚至在.Net 2.0中可用吗?

其他方法

  • 我可以禁止匿名访问 asmx 文件并使用依赖 IIS 通过质询/响应进行身份验证。这在我的场景中实际上很实用,但感觉非常不优雅(也不知道如何从 VBScript 中实现这一点)。
  • 将 UID 传递给方法调用是 SoapHeader 的一个可怜的表亲,所以我不会使用它。

对于解决此问题的最佳方法的任何建议,我将不胜感激。如果有人对为什么 Soap Headers 是安全的有一个很好的论据,那么我很想听听它,因为这似乎是最简单的使用,只要它“足够安全”

0 投票
3 回答
40982 浏览

java - JAX-WS 使用 WS-Security 和 WS-Addressing 的 Web 服务

我正在尝试使用 JAX-WS (Metro) 开发一个独立的 Java Web 服务客户端,该客户端使用 WS-Security 和用户名令牌身份验证(密码摘要、随机数和时间戳)和时间戳验证以及基于 SSL 的 WS-Addressing。

我必须使用的 WSDL 没有定义任何安全策略信息。当 WSDL 不包含此信息时,我无法准确地弄清楚如何添加此标头信息(正确的方法)。我发现使用 Metro 的大多数示例都围绕着使用 Netbeans 从 WSDL 自动生成,这对我毫无帮助。我研究了 WSIT、XWSS 等,但没有太多清晰或方向。JBoss WS Metro 看起来也不太幸运。

任何人都有这样做的经验或对如何完成这项任务有建议?即使将我指向正确的方向也会有所帮助。除了必须基于 Java 之外,我不限于特定技术。