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

wcf - 当 SSL 位于 IIS 场 (WCF) 前面的代理上时,如何使用 Forms Auth?

这是我的场景:

我有一个实际安装了 SSL 证书的代理,它位于负载平衡网络场的前面。每个 IIS 服务器都没有 SSL,因此我无法通过 wsHttp 绑定使用传输安全性。我没有调查 basicHttp,因为我们希望提供带有此解决方案的 SOAP 1.2。除此之外,我的网络团队不允许在消息级别使用任何证书进行加密。(我敢肯定,仅此一项就可以解决我的困境)

我的安全组要求我们使用表单身份验证(成员资格提供程序)。

最终的解决方案必须允许 SSL 通过前端代理,但某种类型的 WCF 绑定将复杂性封装在配置文件中。

我正在使用允许通过明文发送用户名/密码的自定义绑定,但是当我尝试通过 https 连接时,我得到了通常的“http 预期”uri 错误。

如何通过代理使用 SSL 从客户端应用程序安全地连接到 Web 服务,但没有在 IIS 上安装 SSL 并利用 WCF 堆栈 + 表单身份验证?

我对 WCF 并不陌生,但是这种非常自定义的设置似乎让我不确定要求是否允许任何类型的“简单”解决方案。

先感谢您!

编辑: 我终于完成了这项工作,并决定写一篇简短的博客文章,其中包含编写自定义绑定所需的完整源代码。

0 投票
7 回答
81939 浏览

php - 使用 PHP 连接到受 WS-Security 保护的 Web 服务

我正在尝试连接到受密码保护且 URL 为 https 的 Web 服务。在脚本发出请求之前,我无法弄清楚如何进行身份验证。一旦我定义了服务,它似乎就会发出请求。例如,如果我输入:

然后在浏览器上访问该站点,我得到:

如果我尝试将服务定义为 Soap 服务器,例如:

我得到:

我还没有尝试发送原始请求信封以查看服务器返回的内容,但这可能是一种解决方法。但我希望有人能告诉我如何使用 php 内置类来设置它。我尝试将“userName”和“password”添加到数组中,但这并不好。问题是我什至无法判断我是否到达了远程站点,更不用说它是否拒绝了请求。

0 投票
1 回答
320 浏览

web-services - WS-Security 真的可以跨平台互操作吗?

如果我定义了一个使用 WS Security 的 Web 服务接口,并且使用许多不同平台的许多人实现了该接口,我可以期待无缝互操作性吗?WS-Security 是否成熟到足以让这种情况发生?它是否在现代编程语言中广泛而稳健地实现?具体来说,我正在考虑使用用户名和摘要密码身份验证。是否有任何特殊的陷阱可以避免导致已知的兼容性问题?

谢谢,

麦克风

0 投票
3 回答
2560 浏览

java - Java 客户端使用 DIME 附件调用 WSE 2.0

我需要与将 WSE 2.0 用于 WS-Security 和 DIME 的旧版 .NET Web 服务集成。问题是我需要从 Java 应用程序中执行此操作。

我期待 Axis2 与 WS-Security 一起工作得很好,因为这里的人以前也做过。我担心的是 DIME。我在http://ws.apache.org/axis/java/client-side-axis.html看到了对 DIME 的引用,但我想知道是否有人实际上使用 Axis 和 WSE 2.0 Web 服务完成了这项工作。

0 投票
2 回答
4668 浏览

wsdl - WSDL 中可见的 Spring WS-Security

如http://static.springframework.org/spring-ws/sites/1.5/reference/html/security.html所述,我已经通过 WS-Security 在我的 web 服务上实现了身份验证,如下所示:

但是,客户端(如 SoapUI)不知道他们应该使用安全性,因为 WSDL 中没有提到它。我怎样才能做到这一点?这就是我生成它的方式:

0 投票
2 回答
678 浏览

c# - 如何使用 c# 在单声道中使用受 WS-Security 保护的 Web 服务?

我的代码可以使用未受保护的 Web 服务,但我想知道如何使用 WS-Security 来使用。

指向一些文档的指针会有所帮助。我只是找不到起点。

0 投票
4 回答
3242 浏览

web-services - 通过 Web 服务和使用 WS-Security 发送二进制数据

我们必须使用 Web 服务堆栈传输二进制数据,并且在此过程中我们必须签署 Web 服务请求/响应。

主要问题是:执行此操作的首选方法是什么?

我们应该使用 MTOM 和 WS-Security 吗?从ISSUE CXF-1904 我得出结论,当使用 MTOM 和 WS-Security 时会出现问题。CXF 和axis2 使用WSS4J,当您使用MTOM 时,WSS4J 似乎不能很好地处理数字签名消息。

其他 Web 服务堆栈呢?

0 投票
0 回答
1998 浏览

wcf - WCF 在响应中使用内联安全令牌调用 WSE 2.0 WS-Security 服务 - “找不到令牌身份验证器”

我在 .NET 1.1 和 WSE 2.0 中有一个 Web 服务,它使用 WS-Security 和 x509 证书进行签名和加密。我正在尝试配置 WCF 客户端以连接此服务,但事实证明它比我预期的更具挑战性。

通过使用自定义绑定,我已经解决了大部分版本控制问题,但我被困在最后一点。Web 服务在响应 SOAP 信封中包含两个 BinarySecurityToken 元素——一个用于加密证书,一个用于签名证书。

问题似乎是 WCF 在第二个令牌上窒息。这是错误消息:

“找不到 'System.IdentityModel.Tokens.X509SecurityToken' 令牌类型的令牌身份验证器。根据当前的安全设置,无法接受该类型的令牌。”

在 MSDN 上找到了这个对话,它描述了我遇到的确切问题;但不幸的是,它没有提供好的分辨率。创建消息编码器以将信封破解为 WCF 可以处理的东西对我来说似乎是错误的。WSE 2.0 可以很好地处理内联安全令牌——必须有一种方法可以强制 WCF 做同样的事情。

虽然我确实拥有原始 WSE 2.0 服务的完整源代码,但目前还不能选择更改它处理安全性的方式。

这是我当前使用的安全绑定元素:

0 投票
3 回答
92885 浏览

java - 无法从 KeyStore 获取密钥

我尝试从 KeyStore 获取密钥。我通过 Keytool 创建了一个密钥库:

keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business2 -keypass abcdtest -keystore C:\workspace\XMLSample\keystore\mykeystore.jks -storepass 123456

以下是GenerateXML.java

我在 Java 1.6 上运行

但是有错误:

0 投票
1 回答
1899 浏览

wcf - 通过通道接口支持消息级安全性的最小客户端

我正在尝试SecurityMode: Message通过直接通道接口使用 WSHttpBinding 为 WCF 服务构建一个最小客户端。

我当前的代码非常简单:

clientCertificate 被正确加载。但是,之后,我不确定我是否以正确的方式调用每个函数。

事实是:代码片段的最后一行抛出一个MessageSecurityException带有内容的

出于 SspiNegotiation/Kerberos 的目的,客户端无法根据目标地址“ http://myServerUrl ”中的身份确定服务主体名称。目标地址身份必须是 UPN 身份(如 acmedomain\alice)或 SPN 身份(如 host/bobs-machine)。

这个问题的原因可能是什么?