Tut RESTeasy-client-Unterstützung von TLS/SSL?
Ich bin mit einigen RESTful webservice in JAVA-basierte web-Anwendung. Ich bin mit dem RESTeasy-client für den Zugriff auf den webservice. Hier die gesamte Kommunikation zwischen client und service erfolgt durch XML(JAX-B xml-annotierten detail-Klassen). Hier sind die folgenden codes
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);
und wenn ich versuche, auf meinen Dienst, ich bekomme die "Peer nicht Authentifiziert" Fehler
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
...
Gibt es eine Möglichkeit zum hinzufügen von SSL-Konfiguration details in das RESTeasy-client? andere Vorschläge für die Lösung dieses Problem ist auch willkommen
Vielen Dank im Voraus
- Menschen neigen dazu, nicht die Antwort auf Ihre Fragen, wenn Sie sehen, Sie haben nie akzeptiert, eine Antwort, etwas im Auge zu behalten (Nein, ich kenne die Antwort nicht)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich die Antwort gefunden, aber ich bin wirklich sorry für die späte Antwort.
Mir die Frage zu beantworten, RESTeasy-client unterstützt die TLS/SSL. Infact das problem war, ich vermisste installieren Sie das Zertifikat in den JVM.
Dies löste das Problem der "Peer Nicht Authentifiziert". Hoffe, es hilft. Kudos
Wenn Sie nicht möchten, Zertifikat hinzufügen, um die JVM und halten Sie diese cert trennen. Laden Sie das Zertifikat als Teil der code wie folgt Aussehen.
`
//laden Sie das Zertifikat
InputStream fis = diese.getClass().getResourceAsStream("Datei/Pfad/zu/deinem/Zertifikat.crt");
CertificateFactory cf = CertificateFactory.getInstance("X. 509");
Zertifikat cert = cf.generateCertificate(fis);
dann Anhängen rest einfach builder wie
resteasyClientBuilder.sslContext(sslContext)