gpt4 book ai didi

java - 泽西 REST 标志 xml

转载 作者:行者123 更新时间:2023-12-01 14:46:26 26 4
gpt4 key购买 nike

我使用 jersey 实现了 REST 服务。通信层通过 ssl 进行保护。在客户端,我收到了这样的要求:在调用服务并验证服务器端的请求之前,我应该签署 xml。 http://docs.oracle.com/javase/6/docs/technotes/guides/security/xmldsig/XMLDigitalSignature.html

我目前的服务:

@POST
@Path(CONFIRM_PATH)
@Produces({ MediaType.APPLICATION_XML })
public ConfirmResponse confirm(ConfirmRequest request){
// verify the signed confirm request
}

客户端代码(用于缓存服务实例以提高可读性:

ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
client.setConnectTimeout(CLIENT_CONNECT_TIMEOUT);
client.setReadTimeout(CLIENT_READ_TIMEOUT);

URI uri = UriBuilder.fromUri(url).build();
WebResource service = client.resource(uri);
// sign should happen here
ConfirmResponse response = service.post(ConfirmRequest.class, confirmRequest);

处理这个问题的最佳方法是什么?我可以简单地将类型更改为 String 来获取完整的 xml,验证它并随后使用 jaxb 来获取对象。在客户端,我还可以手动创建 xml 并发布一个字符串。

这个解决方案听起来非常令我失望。有什么想法吗?

最诚挚的问候,米

最佳答案

对传出请求使用过滤器并在那里签名。更加友好,因为您不需要重复代码并且可以进行集中控制。

关于java - 泽西 REST 标志 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15404039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com