RESTeasy客户端是否支持TLS/SSL?
问题描述:
我在基于JAVA的web应用程序中使用了几个RESTful webservice。我正在使用RESTeasy客户端来访问我的web服务。这里客户端和服务之间的所有通信都是通过XML(JAX-B xml注释的详细类)。这里有以下代码RESTeasy客户端是否支持TLS/SSL?
String serviceURL = "https://service.company.com/Service/getService"
ServiceRequestDetail serviceRequestDetail = getServiceRequestAsDetailClass();
ServiceResponseDetail serviceResponseDetail = new ServiceResponseDetail();
ClientRequest clientRequest = new ClientRequest(serviceURL);
clientRequest.accept(MediaType.APPLICATION_XML);
clientRequest.body(MediaType.APPLICATION_XML, serviceRequestDetail);
ClientResponse<ServiceRequestDetail> response =
clientRequest.post(ServiceRequestDetail.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " +
response.getStatus());
}
ServiceResponseDetail serviceResponseDetail =
response.getEntity(ServiceResponseDetail.class);
,当我尝试访问我的服务我得到的“同伴未经过身份验证”错误
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
...
有没有办法在RestEasy的客户端添加SSL配置细节?解决这个问题的任何其他建议也欢迎提前
答
我找到了答案
谢谢,但我的反应迟到真的很抱歉。
要回答我的问题,RESTeasy客户端不支持TLS/SSL。事实上,问题是我错过了将证书安装到JVM中。
keytool -import -alias <Replace certificate Alias name> -keystore $JAVA_HOME\jre\lib\security\cacerts -file <Replace your Certificate file location>
这解决了“Peer Not Authenticated”的问题。希望能帮助到你。 Kudos
+0
虽然注意它必须是证书,而不仅仅是密钥在pem中配对:openssl x509 -outform der -in certificate.pem -out certificate.der – raf 2014-02-21 18:44:57
如果人们发现你从未接受过答案,请注意不要回答你的问题(不,我不知道答案) – gresdiplitude 2012-07-31 04:59:03