漏洞扫描系统检测到针对RestEasy 3.7.0: CVE-2021-20289 https://nvd.nist.gov/vuln/detail/CVE-2021-20289的CVE,这说明RESTEasy应该升级到4.6.0以上。但是,这里有一个问题: RESTEasy >4不包含这个子模块。
我注意到在https://developer.jboss.org/en/resteasy/blog/2019/03/28/resteasy-4-is-coming-soon中,有人说
大型resteasy-jaxrs和resteasy-客户端模块已经分为resteasy core-spi,resteasy-client-api,resteasy-core和resteasy-client,第一个和第二个模块被认为是公共模块,我们希望在下一个主要版本之前保持向后兼容性。
如果我注释掉来自pom.xml的resteasy依赖项,我将得到cannot access class org/jboss/resteasy/microprofile/config/ResteasyConfigFactory的错误。但我在resteasy-core-spi或rest-client-api模块中找不到它。最近的是resteasy-4.7.4.Final/resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/config/ConfigurationFactory.java。但是,如果类名改变了,迁移就不容易了。还是我漏掉了什么?
实际上,根据https://issues.redhat.com/browse/RESTEASY-2878的说法,这个CVE是在3.15.2中修正的。所以我迷路了。
发布于 2022-06-14 10:42:19
最后我
resteasy-jaxrs,将resteasy-client-api和resteasy-client-api从org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder引入org.jboss.resteasy.client.jaxrs.internal.ResteasyClientBuilderImpl,尽管它在internal包下,但它是一个公共类,Javadoc并不建议直接使用它。这个实现是相当标准的,并且在迁移时引入了最小的部分。我还比较了类中设置的默认值,如connectionPoolSize等,它们与resteasy-jaxrs 3.中的默认值相同。
代码更改是最小的:
// before
private ResteasyClient client = new ResteasyClientBuilder()
.connectionPoolSize(CONNECTION_POOL_SIZE)
.build();
// after
private ResteasyClient client = new ResteasyClientBuilderImpl()
.connectionPoolSize(CONNECTION_POOL_SIZE)
.build();供应商:
我正在接收内容类型text/plain。在Resteasy-jaxrs 3中,我使用了ResteasyJackson2Provider,它实现了MessageBodyReader和MessageBodyWriter,并且工作正常。现在,在Restyeasy 4中,内容类型检查似乎更严格了,这个同名类的isReadable()只接受Content-Type of null或包含json。当我收到text/plain时,它就不再工作了。
对于纯文本,我建议使用StringTextStar。在Resteasy 4.7.5中有一个新的类,它似乎起作用了。读取输入流并以字符串形式写入,这正是我所需要的。检查它的推动力。
ResteasyClient client1 = new ResteasyClient()
.register(new ResteasyJackson2Provider()) // for JSON
.build();
ResteasyClient client2 = new ResteasyClient()
.register(new StringTextStar()) // for text/plain
.build();而自动关闭客户:
现在,您需要使用“尝试-最后”或“尝试-带资源”来关闭它。如果不这样做,它将自动关闭,但是您会收到一个警告:Closing an instance of ApacheHttpClient43Engine for you等等。
https://stackoverflow.com/questions/72572887
复制相似问题