问题标签 [wsse]

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 投票
0 回答
361 浏览

java - 从经典asp调用用Java编写的soap Web服务(使用wsse:security)

我想这个话题可能已经解决了,但我真的需要有人的帮助。

我正在开发一个使用经典 ASP 开发的项目,现在我需要使用 SOAP 使用 Java 编写的 Web 服务。好吧,我找到了很多文章(包括这里的 SO),教如何使用 Web 服务,使用 XMLHTTP 或 SOAPClient,但这不是问题。问题是创建 Web 服务的人在 SOAP 标头中包含了安全配置。他们向我们发送了一个包含请求模型的 XML,其中我看到了一些我不知道如何从经典 ASP 发送的信息。他们还发送了我用 SOAPUI 打开的 WSDL 文件,但我看不到我在标题中看到的信息。我在 SOAPUI 中创建了一个 MOCK 来测试这些方法,但在那里我也看不到它。

这是他们发送给我们的 XML 模型请求:

所以,我需要使用 SOAP 构建一个请求来使用 web 服务,正如我所说,用 Java 编写,但我需要使用经典的 ASP 在 SOAP 标头中传递信息。经典 ASP 中是否有一些库可以帮助我使用带有安全元素中这些标签的 SOAP 构建这个请求结构?

谢谢。

0 投票
1 回答
643 浏览

angularjs - Symfony 2 - WSSE - FOSUserBundle - FOSRestBundle - Javascript

我尝试合并 WSSE 身份验证。我后面有一个 symfony,前面有一个应用程序 Ionic - AngularJS。我遵循了关于 WSSE 的食谱和这些教程:

http://obtao.com/blog/2013/05/create-rest-api-in-a-symfony-application/

http://obtao.com/blog/2013/06/configure-wsse-on-symfony-with-fosrestbundle/

http://obtao.com/blog/2013/09/how-to-use-wsse-in-android-app/

我很好地安装了 WSSE,我可以使用以下代码在我的应用程序中散列我的密码:

但我想用我的哈希密码生成标题(最后一个教程是用java编码的,我是java中的菜鸟)

如果我发布我的哈希密码,是否可以比较两个哈希密码?

你有什么想法来创建一个标题(或令牌)吗?

谢谢您的回答

0 投票
1 回答
14398 浏览

java - 需要帮助创建有效的随机数

我正在尝试使用使用密码摘要模式的 Web 服务,并且我的 Java 应用程序中有这些函数来生成随机随机数、创建日期和密码摘要。我无法通过 Authentication Failed 错误,并且文档对于他们是否需要 SHA-1 或 MD5 并不太清楚,因为它顺便提到了两者。我尝试了 MD5 而不是 SHA-1,我得到了相同的结果。我设法通过对 SoapUI 的测试使请求工作,但我不知道该应用程序是如何生成摘要/随机数的。任何帮助表示赞赏。

这是我用来生成随机数和密码摘要的代码:

0 投票
0 回答
2024 浏览

vb.net - 带有安全标头 (WSSE) 的 SOAP 请求

我正在链接到外部公司的 WSDL 文件,我需要使用该文件通过 SOAP 请求发送请求和接收信息。

他们提供了 WSDL 文件,我已将其添加为“服务参考”。通常这就足够了,但是每当我们发送请求时,我们都需要附加一个 wsse 标头和安全性。我们已经设法通过添加标题摸索出路,但是它存在一些问题,我不太确定如何解决。

肥皂请求应该看起来像:

我的请求目前看起来像;

如您所见,安全标签主要是搞砸了。此外,XMLNS 标签似乎到处都是,我不太确定这是否会导致问题。

目前我们正在使用以下类(我从研究中获得)覆盖标题;

我的 web.config 当前配置为;

如前所述,我们使用他们的 wsdl 发送请求,完成以下操作;

如果这令人困惑,我很抱歉,我发现整个方法非常复杂,我很确定我在这里遗漏了一些非常明显的东西。

我很乐意提供更多信息。

*编辑1;

我尝试将我的标头添加到 web.config 中,但是该方法存在问题,因为我的密码需要在发送随机字符串(“nonce”,我也需要通过)之前进行哈希处理。不确定我是否可以在发送前更改 web.config 标头。

*编辑2;

一直在寻找是否有某种方法可以获得整个标题,或者是否可以像使用“WriteTokenCore”函数一样拦截它。无济于事!

0 投票
1 回答
404 浏览

wcf - wsse 对 wss4j,另一个肥皂签名

我应该创建一个应该与 wss4j 服务对话的肥皂客户端。

预期的肥皂消息如下:

我有以下内容:

.config 文件是:

并且 config 有一个证书引用,保存在 Usb 令牌中,当登录时,会询问一个 pin 码:

服务接口有:

但得到的肥皂是:

它也给了

InvalidSecurity 在处理 <wsse:Security> 标头时发现错误。

因此,差异是;

我的问题是:

  • 使用 .config,我怎样才能准确地获得目标肥皂?

  • 那些差异造成的错误呢?

  • 你能解释一下导致错误的原因吗?

  • 并摆脱错误?

谢谢你的帮助。

0 投票
2 回答
18448 浏览

java - Spring WS:如何将拦截器应用于特定端点

我在 Spring 应用程序上有多个工作 SOAP Web 服务,使用 httpBasic 身份验证,我需要在其中一个上使用 WS-Security 来允许使用以下 Soap Header 进行身份验证。

当前的 WSConfiguration 是根据https://github.com/spring-projects/spring-boot/blob/master/spring-boot-samples/spring-boot-sample-ws/完成的,给出类似的东西

和根据http://spring.io/blog/2013/07/03/spring-security-java-config-preview-web-security/的网络安全看起来像这样

经过一番搜索,我发现 Wss4J 提供了 UsernameToken 身份验证,但不知道如何使用它。我想要做的是以下 https://sites.google.com/site/ddmwsst/ws-security-impl/ws-security-with-usernametoken 但没有带有 bean 定义的 XML 文件。

我打算做什么:

  • 创建回调处理程序。
  • 创建一个 Wss4jSecurityInterceptor,将“ setValidationActions”设置为“UsernameToken”,将“ setValidationCallbackHandler”设置为我的回调处理程序,然后通过覆盖 addInterceptors我的 WebServiceConfig 来添加它。

(我尝试了类似的方法,但我刚刚意识到我的回调使用了一个不推荐使用的方法)

问题:即使它有效,它也会应用于我在“WebServiceConfig”上的所有网络服务。

更新 :

该实现确实有效,但正如预期的那样,它适用于我的所有 Web 服务。我怎样才能将我的拦截器仅添加到 1 个 Web 服务?

以下是我在 WebServiceConfig 中添加的代码

0 投票
1 回答
164 浏览

facebook - 登录流程:WSSE 身份验证和 Facebook 登录

我正在使用 WSSE 身份验证(通过 Symfony2),并且我定义了以下经典登录流程:

  1. 用户输入其用户名和密码并从服务器获取相关的盐
  2. 通过 WSSE 标头检查在服务器上检查用户名和密码(ajax 调用)
  3. 如果凭据有效,则所需数据(即允许在每次请求时重新生成 WSSE 标头的数据)存储在浏览器上

这是完全有效的。

现在,我想添加“使用 facebook 登录”功能。这不是问题,有大量文档,但是,我的目的和困难是保持 WSSE 逻辑工作

由于用户在使用 Facebook 登录时从不输入密码,因此我无法生成 wsse 标头,因此根本没有文档。

有人会处理过这样的操作吗?提前致谢

0 投票
1 回答
987 浏览

php - 在 WS* 服务器实现中检查签名

我想在用 php 实现的肥皂服务器上验证肥皂请求的签名。

服务器代码:

错误:

我已经使用这个库实现了一个客户端来签署 SOAP 请求:https ://github.com/robrichards/wse-php 。没有关于如何实现服务器的示例...

如何加载公钥以检查签名?

[编辑]我现在已经能够使用加载提供的密钥

验证签名时不再收到错误消息:

然而,$valid 总是假的。我不知道是因为密钥加载错误还是实际上无效。我几乎找不到关于使用 PHP 实现 SOAP 服务器的信息,也找不到关于实现依赖于检查签名请求的 SOAP 服务器的信息。

澄清

  1. 我的客户与远程 Web 服务对话并获得确认。

  2. 然后远程服务器需要一些时间来处理我的请求。

  3. 一个远程客户端(我无法控制)然后向我的服务发出请求。

最后一步是我无法验证签名的地方

0 投票
0 回答
984 浏览

java - org.apache.wss4j.common.ext.WSSecurityException

我正在尝试将我的客户端连接到我的服务器并发送一条经过加密和签名的消息。我已经检查了我的所有配置,以确保它在两端都是相同的,但我不断出现以下错误。关于我可能做错了什么的任何想法。如果您还需要什么,请告诉我。

0 投票
1 回答
502 浏览

c++ - Gsoap 文件已保留@

我正在使用带有 g++ 和 qmake 的 gsoap 编译程序。经过数小时的工作后,我从编译器中得到了这个错误:

查看 中的文件/usr/share/gsoap/import,我可以看到其中有很多@s:

的一部分wsse.h

我无法理解@代码中的内容,我认为 C++ 中没有这样的东西。

有大佬帮忙吗?!谢谢。

编辑: 其中还有其他奇怪的东西。另一个编译错误是:

看一下源文件,结构定义中有很多这样的东西:

我不知道如何解释属性名称后的数字。


答案摘要:

正如 mpromonet 所提到的,/usr/share/gsoup/import类似ds.hwsse.h不是 C/C++ 代码的文件不应使用 C/C++ 编译器进行编译。从他们的标题中的评论可以理解:

生成:wsdl2h -cuxy -o ds.h -t WS/WS-typemap.dat WS/ds.xsd

相反,它们应该被交给像这样gsoap调用的工具soapcpp2

然后的问题是我已经在编译另一个onvif.h用 soapcpp2 调用的文件,并且该工具无法同时处理两个文件。然后(再次感谢 mpromonent)事实证明,wsse.h在原始文件中导入第二个文件onvif.h可以解决问题。换句话说,将以下行添加到onvif.h

起初,对我来说,网络上似乎没有太多信息,但在平均文件中,我发现这个指南非常有用:

http://www.genivia.com/dev.html