问题标签 [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.
c# - .net 调用启用 WS-Security 的 Web 服务(在 java 中创建)
如何使用 ws 安全性调用 Web 服务(在 java 中创建),他们提供了证书文件、用户名和密码,我尝试使用 Web 服务增强 (WSE) 3.0,从 Microsoft.Web.Services3.WebServicesClientProtocol 继承服务代理使用用户名密码代币
收到错误“底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。”
是因为客户证书吗?我也试过
c# - 使用 WSE 3.0 添加 SOAP:HEADER 用户名和密码
我已经成功创建了一个在不使用身份验证时可以正常工作的 WS 客户端。
但是,服务器(WebSphere)现在需要添加一个 ws-security 用户名令牌,我很难做到这一点。生成的 SOAP 消息应该如下所示:
我已经下载并安装了 Microsoft 的 WSE 3.0 SDK,并在我的 Visual Studio 2005 项目中添加了对 DLL 的引用。
我现在可以访问 Microsoft.Web.Services3.* 命名空间,但我目前不知道如何继续。
客户端代码已由 Web 引用自动生成,因此我只做少量工作即可将消息发送到未经身份验证的服务器:
我刚刚开始使用 进行调查Microsoft.Web.Services3.Security.Tokens.UsernameTokenManager
,但到目前为止,我还无法启动并运行任何东西。
任何提示将不胜感激,因为我似乎无法在网上找到任何好的食谱。
谢谢!
c# - 如何在没有 WSDL 的情况下创建一个肥皂客户端
我需要访问一个安全的 Web 服务,标头中的每个请求都需要携带一个令牌。
我知道 Web 服务的端点,我也知道如何创建令牌。
但我看不到 Web 服务的 WSDL。
在 C# 中有没有办法创建一个肥皂客户端,没有 WSDL 文件。
asp.net - 是否可以使用 Excel/Access 使用 WS-Security 来使用基于 SOAP 的 Web 服务?
我的能力范围是在vba和asp。
我对使用 Excel 或 Access 中的 SOAP Web 服务很感兴趣,主要是因为它对我来说更容易。我还获得了使用 ws-security 的 Web 服务的 wsdls。
这甚至可能吗?根据我的阅读,.net 是我合乎逻辑的选择,但我的技能显然存在差距。是否有可能有帮助的库、工具或有用的指南?
谢谢,乙
wcf - 如何将 WCF 服务配置为仅接受由 x509 证书标识的单个客户端
我有一个 WCF 客户端/服务应用程序,它依赖于两台机器之间的安全通信,我想使用安装在证书存储中的 x509 证书来相互识别服务器和客户端。我通过将绑定配置为<security authenticationMode="MutualCertificate"/>
. 只有客户端机器。
服务器在本地计算机/个人存储中安装了颁发给 server.mydomain.com 的证书,客户端在同一位置安装了颁发给 client.mydomain.com 的证书。除此之外,服务器在本地计算机/受信任的人中拥有客户端的公共证书,客户端在本地计算机/受信任的人中拥有服务器的公共证书。
最后,客户端已配置为检查服务器的证书。我使用system.servicemodel/behaviors/endpointBehaviors/clientCredentials/serviceCertificate/defaultCertificate
配置文件中的元素做到了这一点。
到目前为止一切顺利,这一切都有效。我的问题是我想在服务器的配置文件中指定只允许使用来自受信任的人证书存储的 client.mydomain.com 证书标识自己的客户端连接。
正确的信息在使用ServiceSecurityContext
.
那可能吗?任何提示将不胜感激。
顺便说一句,到目前为止,我的服务器的配置文件如下所示:
java - 从 xfire 客户端调用 axis2 Web 服务:找不到操作的端点参考 (EPR)
我需要通过 https 从 xfire 客户端使用 ws-security(用户名令牌)调用axis2 Web 服务。我可以通过xfire 动态客户端进行练习,但使用 wsdl 基本客户端没有运气(即从 wsdl 生成 java 存根)。谁能指出我可能出了什么问题(存根,ws-security 其他)?
例外:
线程“主”org.codehaus.xfire.XFireRuntimeException 中的异常:无法调用服务。嵌套异常是 org.codehaus.xfire.fault.XFireFault:找不到操作的端点引用 (EPR) 是 https://localhost /services/DataServiceSample2 和 WSA 操作 = org.codehaus.xfire.fault.XFireFault:找不到操作的端点参考 (EPR) 是 https://localhost/services/DataServiceSample2 和 WSA 操作 =
代码:
java - JAX-WS - 添加 SOAP 标头
我正在尝试创建一个独立客户端来使用一些 Web 服务。我必须将我的用户名和密码添加到 SOAP 标头。我尝试按如下方式添加凭据:
当我在服务上调用方法时,出现以下异常:
我究竟做错了什么?如何将这些属性添加到 SOAP 标头?
编辑:我使用的是 JDK6 中包含的 JAX-WS 2.1。我现在正在使用 JAX-WS 2.2。我现在得到以下异常:
我该如何创建这个令牌?
java - 对 WCF 服务的 SoapUI 请求在未解密的情况下失败
我正在尝试获取配置了消息安全性(无传输安全性)的 WCF 服务,以便它可以与 Java 客户端进行通信。我一直在使用 SoapUI 进行测试,并且克服了许多障碍。现在,WCF 似乎正在对消息进行身份验证,但它正在将其路由到操作而不解密它。我收到以下内部异常:
System.Runtime.Serialization.SerializationException
OperationFormatter 遇到无效的消息正文。预计会找到名称为“SaySomething”和命名空间“ http://ecollege.com/securityspike/ ”的节点类型“元素”。找到名称为“xenc:EncryptedData”和命名空间“ http://www.w3.org/2001/04/xmlenc# ”的节点类型“元素”
我已经尝试了所有内容并阅读了所有内容,但我没有发现任何类似的东西,也没有找到任何解决方案。我希望有人可能知道这笔交易是什么并能够帮助我。下面是我的 WCF 服务配置和 SoapUI 消息:
WCF 服务自定义绑定配置
SoapUI 原始消息
SoapUI 安全消息
WCF 安全消息
java - 从 JAXWS-RI 调用 .NET Web 服务(WSE 3.0、WS-Security)
我正在编写一个必须调用使用 WS-Security 的 .NET Web 服务的 JAXWS-RI 客户端。服务的 WSDL 不包含任何 WS-Security 信息,但我有一个来自服务作者的示例 soap 消息,并且知道我必须包含 wsse:Security 标头,包括 X:509 令牌。
我一直在研究,我看到人们从 Axis 和 CXF(与 Rampart 和/或 WSS4J 一起)调用这种类型的 Web 服务的例子,但没有使用普通的 JAXWS-RI 本身。但是,我(不幸地)受制于我的政府客户使用 JAXWS-RI。有没有人有任何来自 JAXWS-RI 的示例/文档?
我最终需要生成一个类似于下面的 SOAP 标头 - 这是一个示例 soap:header,来自服务作者编写的 .NET 客户端。(注意:我已将“VALUE_HERE”字符串放在需要提供自己的值的地方)
wcf - 通过 SSL 进行 SOAP 纯文本密码身份验证的 WCF 配置
我有一个通过 https 连接到实现 WS-Security 的基于 SOAP 的 Web 服务的应用程序。Web 服务是用 Java 编写的,需要纯文本密码以及正确设置的时间戳。
经过大量的谷歌搜索和实验,我无法弄清楚如何配置我的 WCF 客户端以与此服务进行交互。除了正确答案之外,我还希望能提供一个很好地解释 WCF 和 SOAP 的教程的链接。
我当前客户的 app.config 如下所示:
客户端代码如下所示:
此代码引发此异常:
MessageSecurityException "安全处理器无法在消息中找到安全标头。这可能是因为消息是不安全的错误,或者是因为通信双方之间存在绑定不匹配。如果服务配置了安全性和客户端,则可能发生这种情况没有使用安全性。”
WSE 3 版本只需要以下内容即可工作:
更新:
请求现在到达服务器,并使用 app.config 中的此配置从服务器发回响应:
然后客户端抛出异常
“安全处理器无法在消息中找到安全标头。这可能是因为消息是不安全的错误,或者是因为通信双方之间存在绑定不匹配。如果为安全配置了服务并且客户端是不使用安全性。”
这似乎是因为客户端发送了 Timestamp 标头,但服务没有返回 Timestamp 标头。这可能是“正确的做法”,但它不是很有帮助,因为那里部署了许多期望时间戳但不返回时间戳的 Web 服务。
如果有办法说服客户接受这种情况,我很想知道。同时,我将研究是否可以将 Web 服务更改为返回时间戳。