问题标签 [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.

0 投票
2 回答
562 浏览

spring-ws - 在 Spring-WS 中,使用 WS-SecurityPolicy 时,如何指定严格的布局?

我正在尝试使用具有 WS-SecurityPolicy 和严格布局的 Websphere 公开的 Web 服务。由于布局排序,Spring-WS 客户端生成的 SOAP 失败。

确切的错误是这样的(我正在使用时间戳,带有加密和签名):

我正在使用 Wss4jSecurityInterceptor。但我找不到 WSS4J 属性来强制执行严格的布局。

更新:我在这里的 Spring 论坛中发现了一个类似的查询。没有对该查询的回应。

0 投票
2 回答
1716 浏览

java - 使用 WSS4J / camel cxf (Https) 进行基本身份验证

对于 SOAP Web 服务,我有一个PasswordDigest通过camel-cxf和进行身份验证的配置示例WSS4J

我们有一个请求为 BASIC 身份验证启用相同的资源 - 如何修改此配置来做到这一点?

我更改了以下行并通过 SOAP UI 进行了测试:

然而,结果是来自以下的 SOAP 错误UsernameTokenValidator.java

如果有人在这里有一些指导,将不胜感激。

0 投票
2 回答
5350 浏览

apache - CXF 3.X 和 WSS4J 2.X 中的回调处理程序

我正在尝试将我们当前的应用程序升级到 CXF 3 和 WSS4J 2。这让我很头疼。

客户端的当前应用程序代码:

在服务器端...

我的 JAX-WS 端点配置:

具体来说,WSPasswordCallback 对象现在传递的是 NULL 而不是过去的密码。根据我的阅读,CXF 只是选择停止这样做,因为有关我将为升级路径做什么的文档不足。什么是升级路径?

另外,我注意到 WSS4J 正在改变它的位置。它已从“org.apache.ws.security”移动到“org.apache.wss4j.common.ext”。我还将所有常量更新为“org.apache.wss4j.dom.WSConstants”和“org.apache.wss4j.dom.handler.WSHandlerConstants”来编译。这也彻底改变了“org.apache.commons.validator.Validator”中旧的“org.apache.ws.security.validate.Validator”类。现在的课已经很不一样了。也许“org.apache.wss4j.dom.validate.KerberosTokenValidator”是新的替代品?同样,我找不到这个事实的文档。

请注意:在迁移到新的 CXF 和 WSS4J 版本之前,这是所有工作代码!

0 投票
0 回答
1418 浏览

java - XML 阅读器错误 - jax-ws + SSL 中的 XMLStreamException

各位程序员好!

我不得不承认我对 web 服务还是新手并且不知道如何保护它们。

我尝试使用 jax-ws 和 wss4j 调用由 ws-security 保护的 Web 服务。使用 http 时一切正常。但是当我尝试通过 url 使用 https 时,出现以下错误:

我做错了什么?这可能是什么原因造成的?

提前致谢!任何帮助或建议将不胜感激:3

0 投票
0 回答
529 浏览

java - 程序意外退出而没有错误

我遇到了奇怪的行为 - WSSecSignature(wss4j lib 的一部分)执行

并在没有任何异常/通知的情况下退出。标有“last”的行是最后执行的(我在调试中看到它),程序不进入 catch 块也不执行它后面的行,只是退出。我没有当前 signatureFactory 实现的代码,只有 jars。有人可以提供关于现实场景的想法,为什么它可以以这种方式运行(我唯一能想到的 - 该类出于某种原因调用了类似 system.exit() 的类,甚至没有在日志中写一条消息,但我无法想象写的原因这样的代码)。

0 投票
1 回答
863 浏览

web-services - 调用骆驼代理网络服务时出错

我已经使用 Apache camel 创建了一个代理服务。

这是我的 camel-config.xml 文件:

现在我的 wsdl 文件打开了http://localhost:8280/services/Version.Security?wsdl,我的端点 url 是 https://localhost:8243/services/Version.Security.Version.SecurityHttpsSoap11Endpoint

代理的创建没有任何错误,但是当我在soap UI中调用上述服务时,我在SOAP UI中得到一个错误:

我无法弄清楚是什么问题..

还有一件事,如果我从 camel-config.xml 中删除以下部分

无论 wsdl url 是 http 还是 https,代理服务都能正常工作。

期待您的回答。提前致谢

0 投票
1 回答
2203 浏览

security - 带有 Spring WS 的 WSS4J(用户/密码认证 + .cert)

我正在通过 WSS4JSecurityInterceptor 使用 Spring 集成 + Spring WS Security。

我有一个 WS 客户端在服务器上使用 Web 服务,并具有下一个安全方案:

  • Https抢先认证(用户和密码)
  • 服务器端给了我一个 .cert 文件来签名,但我不知道如何转换为 .jks (密钥库文件)

有了这两个必要条件,我对 Spring 文档提供的有关客户端/服务器配置的示例感到有些困惑。我无法更改服务器端的任何配置。我只有:用户、密码和 .cert 文件。

我有下一个 Java 配置,但我不确定它是否能解决我的详细场景:

0 投票
1 回答
1087 浏览

java - 在 WS 安全性的 crypto.properties 中添加多个别名

如何在 Apache WSS4J 配置的 crypto.properties 文件中添加多个别名

${PREFIX}.merlin.keystore.alias :如果未指定,则使用默认的密钥库别名。这就是我从文档http://ws.apache.org/wss4j/config.html中得到的全部内容。现在如何在同一个 crypto.properties 文件中指定别名。我的密钥库中有几个证书,我想在我的 crypto.properties 文件中指定它们。

提前致谢。

0 投票
3 回答
12971 浏览

spring - WSS4J with Spring WS : (WSSecurityEngine: Invalid timestamp The security semantics of the message has expired)

我基于 Wss4jSecurityInterceptor 的 Spring 实现开发了一个 ws(soap)。

配置如下:

当我在时钟设置为比服务器时钟晚 2 分钟(或更多)时从客户端调用 ws 时,我收到以下消息:

org.apache.ws.security.WSSecurityException: The message has expired (WSSecurityEngine: Invalid timestamp The security semantics of the message has expired)

我使用 SoapUI 来测试 ws。在我得到正文块的响应中,无法在客户端解密。

时钟同步时的响应

两个时钟不同步时的响应

任何想法?

谢谢

0 投票
1 回答
392 浏览

security - Apache CXF 3.0.4 和 Wss4j,KeyIdentifier EncryptedKeySHA1 问题

我正在使用 CXF 3.0.4 加密 Web 服务,并且我希望将 KeyIdentifier 设置为 EncryptedKeySHA1。为此,我将参数添加<entry key="encryptionKeyIdentifier" value="EncryptedKeySHA1"></entry>到 WSS4JOutInterceptor bean 中的 context.xml。

但是在出站请求中,我得到了:

奇怪的是,我得到了一个指纹密钥标识符。这是一个错误还是我需要以不同的方式配置它?

PS.:这是完整的 applicationContext.xml:

这是我的 pom.xml: