问题标签 [wss4j]
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.
java - 将密钥库与 Websphere 和 WSS4j 一起使用
我正在实施一个解决方案,其中包括使用 WSS4j 进行签名验证和解密。将有两个密钥库,一个用于这些目的。这是在 servlet webapp 中完成的。为了测试,我将密钥存储/加密属性文件放在 EAR 中,但我们需要一个更长期的解决方案。
有没有办法将密钥库存储在 Websphere 上,也许是通过 WSS4J 的加密对象可以引用的 JNDI?我们的管理员试图避免将密钥库直接放在文件系统上。
java - 如何在 Apache CXF SOAP 服务器中启用 SignatureConfirmation 元素
我有一个肥皂客户端和一个使用 CXF 的肥皂服务器。我的消息签名工作正常。当我使用 IBM SOAP 设备将我的 SOAP 客户端指向不同的 SOAP 服务器时,回复消息包含元素 SignatureConfirmation。我想确保我的基于 CXF 的 SOAP 服务器提供与第三方 SOAP 服务器相同的结果,那么如何配置我的服务器以启用该元素?
这是我设置服务器的方式:
java - 将我的自定义拦截器放在 cxf 中的默认 org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor 之后
我想创建一个自定义拦截器来访问 x.509 证书,正如我在这里读到的:
我必须在默认的 org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor 之后创建一个拦截器但是我找不到任何关于我们应该配置它的线索。顺便说一句,我使用的是 spring xml 配置。
我已经读过,在 WSS4J 默认拦截器之后添加一个拦截器将允许我在之后执行的另一个拦截器中访问证书,但我找不到任何方法来更改证书执行的顺序。
tomcat - ClassCastException 与在 Tomcat 中部署的多个战争
我有两个 WAR 部署到同一个 Tomcat 7 实例,并且都使用 CXF + WSS4J。这两个应用程序通过 SOAP 进行通信,WSS4J 拦截器处理 SOAP 标头中的 SAML 断言。当单独测试每场战争时,一切正常,但是当两个应用程序都部署并且一个应用程序向另一个应用程序发送 SOAP 消息时,我收到以下 ClassCastException:
对我来说,这意味着一个类加载器问题,但具体是什么我无法弄清楚。每个应用程序在其各自的 WEB-INF/lib 文件夹中都有自己的 WSS4J 副本,我在 Tomcat 的公共库中看不到任何 WSS4J 库。
在生产环境中,这两个应用程序很可能永远不会使用同一个 JVM,更不用说在同一个 Tomcat 实例中了,但是当我了解这个问题的底部时,我会感觉更舒服。它还有助于从开发中的同一个 Tomcat 实例启动这两个应用程序。有谁知道问题可能是什么?
更新 1: 我将每场战争部署在单独的 Tomcat 实例中,这些实例都使用相同的 JVM,并且 ClassCastException 消失了。Tomcat类加载一定是我不理解的东西吗?
cxf - 使用 CXF 配置 WSS4J
在我开始添加 WSS4J 之前,我在使用 CXF 设置合同第一组 Web 服务方面做得很好。
我正在尝试调试发送密码并登录soap标头。当我在 WSPasswordCallback 类中调用 getPassword() 时,我得到了 null。我可以从肥皂信封中看到密码已发送。
这篇 2009 年发布的帖子http://old.nabble.com/PasswordDigest-and-PasswordText-difference-td24475866.html让我想知道我是否缺少(需要创建)一个 UsernameTokenHandler。
如果这是真的,有人可以指出我将如何在 spring/cxf bean xml 文件中配置它吗?
任何意见或建议将不胜感激。
这是有问题的Java文件:
CXF/Spring 配置文件:
肥皂消息:
web-services - 配置一个通用的webservice拦截器和usernameTokenValidator兼容Spring-WS和CXF
现在,我的 WS 端点之一具有以下配置。
现在我想将此bean="myServiceInterceptor" 和自定义 userNameToken Validator 配置(jaxws:properties)移动到单独的 jar (say A)。因此,任何使用该 jar A 的spring WS都可以利用相同的拦截器和 customUseranameToken 功能。
我的问题:
谢谢!
web-services - 通用 webservice 拦截器和 UsernameTokenValidation 兼容 Spring-WS 和 CXF
我有一个场景,我想配置一个 web 服务安全拦截器和一个 UsernameTokenValidator 并将其放入myws-security.jar中。然后可以由使用此 jar 的任何 web 服务(无论是基于 CXF 还是 Spring-WS)使用。处理这种情况的做法是什么。
在这种情况下,使用org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor类或org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor配置拦截器对我有用吗?
java - 如何在 WCF Web 服务中关闭 SecureConversationToken
我有一个具有 WS-* 安全性的 WCF Web 服务,我需要使用 WSS4J API 为它编写一个 Java 客户端。但是,事实证明 WSS4J 不支持 WS-SecureConversation 特有的<SecurityContextToken>
and<DerivedKeyToken>
标记。
有没有办法通过代码或更好的方式通过 web.config 关闭它?
更新:
服务定义:
行为和绑定:
cxf - 如何使 wss4j 不在soap标头中创建过期元素
wss4j 或 cxf 中是否有任何选项可以控制<expires>
ws-security 中的元素是否包含在 SOAP 标头中。
我想要实现的是 SOAP 标头仅包含<created>
元素,例如
我正在使用 wss4j 1.5.10 和 cxf 2.3.x
请注意,时间戳的xsd 架构具有
java - Apache CXF / WSS4J 证书验证
似乎证书(X509)验证执行的唯一方法是:如果对服务器的请求包含一个证书,该证书已经在服务器的密钥库中,则处理该请求(与服务器的响应相同)。
您能否建议一种通过 CRL 和根证书验证证书的方法?
使用 spring security 和 cxf<jaxws:inInterceptors>
怎么样?还没找到教程
进展 尝试编写我自己的拦截器:
现在的问题是用任何可能的方式验证证书,比如纯 java..