问题标签 [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 回答
913 浏览

c# - 使用 C# 使用 wsse java spring security web 服务

所以总而言之,我正在尝试使用 C# 使用 javaspring wsse Web 服务。这就是我需要发送的 web 服务标头的样子..

我尝试过使用 wse3.0 自定义策略断言,但没有成功。我正在使用 VS 2008。我正在使用一个基本的控制台应用程序,在使用此 Web 服务时应该没有问题。这是我的 app.config,它会在添加服务引用时自动更新

我调用该服务的客户端代码是:

我从这里获得了自定义绑定示例,在 C# 中以编程方式创建 WCF 客户端的标头 (wsse) 部分。端点是 http,我无法发送时间戳,因此使用它。

我收到一个错误:

'CustomBinding'。http://tempuri.org/ 'ws' 的绑定。http://openclinica.org/ws/studyEventDefinition/v1 '合约配置了需要传输级完整性和机密性的身份验证模式。然而,传输不能提供完整性和机密性。

无论如何,如果我直言不讳,我很抱歉。这是我第一次尝试使用任何 java spring webservice。如果需要,我可以提供更多信息。我宁愿在我的 .cs 文件中以编程方式进行。非常感谢您的任何想法/帮助。

0 投票
3 回答
12821 浏览

php - 使用 SoapClient 在 PHP 中为 WebServices API 创建 WSSE Auth SOAP 调用

我从供应商 API 获得以下信息: 在此处输入图像描述

我需要使用 php 创建一个 Soap 调用。我该怎么做呢?到目前为止,我有这个:但它不起作用:

请帮忙

0 投票
1 回答
497 浏览

android - Android 中的 WSSE 时间戳生成

我有一个带有 WSSE 身份验证的 Web 服务。Web 服务是用 Symfony2 编写的,我可以通过 PHP 客户端以及称为 REST Console 的 chrome 插件访问它,因此它可以工作。为了手动生成标题,我使用了这个 wsse 生成器

为了制作我遵循本教程的 Android 客户端,它可以工作,但只有在它不生成时间戳时才有效。

生成时间戳的代码是:

它返回的字符串是正确的,格式和一切看起来都很完美,但它告诉“未授权”,但是当我像这样直接编写时间戳时它可以工作:

我检查了编码,尝试像 UTF-8 和 Cp-1252 (文件编码)一样对其进行编码:

我使用 Calendar.YEAR + Calendar.MONTH.... 生成了时间戳,但仍然无法正常工作。

目前我正在尝试在真实手机中对其进行测试,但我认为这不是模拟器问题。

你有什么建议吗?非常感谢您!

0 投票
2 回答
2475 浏览

api - 使用 FOSUserBundle 的 WSSE 身份验证

当我想从使用 Symfony 创建的 REST API 中使用 WSSE 对用户进行身份验证时,我遇到了问题。我按照网站 symfony wsse 身份验证 ( http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html ) 上的指南完成了教程 ( http://obtao.com/blog/2013/06 /configure-wsse-on-symfony-with-fosrestbundle/)和用户管理由 FOSUserBundle 处理。

默认情况下,我 wsse 对访问资源 /api 的请求进行身份验证。所以我在我的 security.yml

为了访问我的资源 /api/hello,我在请求标头中添加了:


但是在发送查询后,我收到一个返回给我的错误:

此错误消息是我的 WsseListener 类中引发的异常:

0 投票
1 回答
7994 浏览

soapui - SoapUI WS-安全令牌

我想对使用 WS-Security 和 SoapUI 的 Web 服务进行调用。SoapUI 教程到目前为止还没有运气。会喜欢任何建议。

0 投票
1 回答
641 浏览

ruby - 在 SOAP 中使用 WSSE 在 Ruby 中发送以 Base 64 编码的公钥

我正在尝试发送以 base 64 编码的 WSSE DSA 公钥。我一直在尝试使用 Open SSL 库将公钥与证书文件分开,但似乎 OpenSSL 使用我的整个证书文件而不是提取只是公钥。

0 投票
2 回答
1136 浏览

api - 在 Symfony2 中使用 Rest API 设置令牌客户端

我在一台服务器(S1)上用 symfony2 制作了一个 Rest API。

我在一台服务器(S2)上用 symfony2 做了一个应用程序。

S1: 效果很好。它给出用户信息的 json 响应,取决于给定的 url。

S2: 效果很好。用 curl 询问 url。在 http 标头中使用 wsse 来检索重要的用户信息。

我想使用 S1 数据库登录我的用户(来自 S2)。但是当我在 S2 中时,在用户信息的 json 响应之后,我不知道我需要做什么以及如何去做......

应用端:- Symfony2

API 端:- Symfony2 - FOSUserBundle - FOSRestBundle - JMS

这是我第一次尝试制作 Rest API,所以我可能不太了解它是如何工作的。

提前致谢。

编辑:有关更多详细信息。

  • 1:用户 1 使用登录表单并发送。
  • 2:S2使用x-wsse参数创建一个http头(Nonce / Timestamp / Username / Password...)
  • 3 : S2 使用 curl 将此标头发送到 S1
  • 4:S1检索数据,如果header有好的信息,发回用户信息(json)或者做一些动作
  • 5:S2从S1获取用户的jsons信息。
  • 6:我可以向用户 1 显示我想要的页面

现在我的问题是我需要为新页面做同样的事情,但我不想再次向我的用户询问密码和用户名,因为对他来说,他正在登录。

希望它更清楚。

编辑 2:我的问题用一句话概括。

在 Symfony2 中,通过 wsse 身份验证,我如何获取用户的令牌并在 API 身份验证后将其发送到客户端。

:p

0 投票
0 回答
721 浏览

javascript - 如何对跨域 WSSE REST Web 服务执行 jQuery GET 请求

我遇到了CORS问题。我已经使用 WSSE 开发了一个 REST Web 服务来保护它。必须通过 jQuery 请求从混合移动应用程序调用 Web 服务。

我正在尝试通过 jquery 调用 web 服务方法,但我总是得到 405 响应。

这是虚拟主机配置:

这是 jQuery 客户端:

这些是 Firebug 中所示的响应和请求:

我做错了什么?

我读过很多讨论,但没有运气。例如:

0 投票
1 回答
311 浏览

python - Python httplib2 WSSE 示例

有没有人有使用 httplib2 进行 WSSE 身份验证的工作示例?我环顾四周,但找不到任何东西。

0 投票
1 回答
5510 浏览

c# - C# 使用 SHA-1 和 Base64 编码 wsse 安全密码摘要与服务器密码摘要不匹配

我正在使用一个 Web 服务,该服务需要在soap 请求的标头中使用 wsse 安全性,并且由创建的、nonce 和密码摘要组成。Web 服务器使用这些值来授权真正的请求。

密码摘要是使用 Web 服务 API 中所述的以下算法创建的:

密码摘要 OASIS Usertoken 配置文件定义并描述了计算在 XML For Shipping API 中提交的唯一 Password_Digest 字符串的公式,此公式中使用的密码信息是纯文本密码的 SHA-1 哈希的 base 64 编码。

用于构造 Password_Digest 值的公式是

Password_Digest = Base64(SHA-1(Nonce + Created + Base64(SHA-1(Password))))

请注意,上述算法中的 + 符号表示三个字符串的字符串连接:来自 xml 请求的 Nonce、由 xml 请求创建和密码的 SHA-1 摘要的 Base64 编码。

我正在处理一个已知已成功授权的示例 XML 请求。我遇到的问题是,当我尝试使用示例中提供的值重新创建密码摘要时,我得到的密码摘要值不同。

示例值和预期的密码摘要:
Nonce:4ETItj7Xc6+9sEDT5p2UjA==
创建时间:2014-08-04T10:22:48.994Z
密码:Password2014!
Password_Digest : Ug3FRXgyAaWU8SjYHRabnAkn330=

这是我尝试重新创建 password_digest 时尝试的各种方法的输出

方法一

方法二

方法三

方法四

这些方法都没有创建与样本匹配的密码摘要。方法 1 - 3 至少创建了与样本具有相同字符数的密码摘要,所以我是否正确假设编码在字符串的最终字节数匹配的意义上是部分正确的?

我的问题是任何人都可以帮助使用提供的示例值重新创建 password_digest 吗?

我只想提一下这是我第一次使用 ws-security 并且很少接触 SHA-1 和字符串编码/解码,因此非常感谢任何帮助。

笔记:

示例中的 nonce 字符串以 '==' 结尾,表明它已被某种方式编码,并且 Nonce 元素的 xml 架构如下:

这表明 nonce 被编码为 base64,所以我尝试再次重新运行这些方法,但使用以下行将 nonce 转换为纯文本

从结果来看,我认为 API 公司不会创建这样的随机数,或者我对随机数被加密的假设是错误的,或者我没有正确解码它。

我仍然尝试使用 nonce 的新值并得到以下结果

方法一、二

方法三

方法四

所以再次没有成功,方法 3 的结果与方法 1 和 2 不同,这是出乎意料的,因为之前的随机数方法 1、2 和 3 给出了相同的结果。