首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用wss4j时间戳缓存

如何禁用wss4j时间戳缓存
EN

Stack Overflow用户
提问于 2022-11-15 13:59:58
回答 1查看 20关注 0票数 1

我需要更新一个提供SOAP服务的javaEE应用程序(仍然在Java1.7中)。我想禁用wss4j (v2.0.2)用来控制应答攻击的wss4j。它创建了太多的文件,操作系统多次达到允许的最大打开文件。文件将开始显示,每个已发出并以下列方式命名的请求都有一个文件:

wss4j%002etimestamp%002ecache-e%0058ga%0058l%0058%004b%0057g%004ah%0050w==.data

文档声明可以更改TIMESTAMP_CACHE (至少我理解):

ConfigurationConstants.ENABLE_TIMESTAMP_CACHE ("enableTimestampCache"):是否缓存创建的字符串的时间戳(这些字符串仅与消息签名一起缓存)。默认值为"true“。

在客户端应用程序创建Call对象时,我发现了许多更改这些ConfigurationConstants的示例。请参见更改PASSWORD_TYPE常量的示例:

代码语言:javascript
复制
Service service = new Service(); 
Call call = (Call) service.createCall();
...  
call.setProperty(UsernameToken.PASSWORD_TYPE, WSConstants.PASSWORD_TEXT);  
call.setProperty(WSHandlerConstants.USER,"werner");

但是,我的应用程序不是在客户端,而是在服务器端,到目前为止,我还没有找到更改ENABLE_TIMESTAMP_CACHE常量的方法。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-18 11:13:43

我找不到禁用时间戳缓存的方法。然而,上面描述的wss4j行为碰巧是一个错误,它不仅导致了大量打开的文件,而且导致了很多打开的线程。它已经在2.0.9版中得到了修正。升级到“更新”版本成功了。

你可以在这里找到充分的讨论推动了bug的发现。修正了wss4j的jira

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74446888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档