Date: Thu, 28 Mar 2024 21:43:07 +0000 (UTC) Message-ID: <1795281923.1716.1711662187410@wiki.rz.novabit.de> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1715_2095001961.1711662187410" ------=_Part_1715_2095001961.1711662187410 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
import java.security.ce= rt.CertificateException;
= import java.security.cert.X5= 09Certificate;
import javax.net.ssl.HostnameVerifier;
import <= /span>javax.net.ssl.SSLContext;
= import javax.net.ssl.= SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
imp= ort javax.ws.rs.client.Client;
import javax.ws= .rs.client.ClientBuilder;
import javax.ws.rs.client.E= ntity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.commons.codec.digest.DigestUti= ls;
import org.glassfish.jersey.client.ClientConfig;import org.glassfish.jersey.client.ClientProperties;import org.glassfish.jersey.client.authentication.Htt= pAuthenticationFeature;
<= span style=3D"color: rgb(204,120,50);">import org.glassfish.jersey.j= ackson.JacksonFeature;;
/**
* Create= d by Oliver Brausch on 2019-07-23.
*/
public class= SSLExample {
publ= ic static void main(= String[] args) {
String url =3D "https://sshrest.de";<= br> String user = =3D "abc";
= String pass =3D "123"
Object data =3D "{}";
ClientConfig config =3D new ClientConfig();
config.property(ClientProperties.= SUPPRESS_HTTP_COMPLIANCE_VALIDATION, true);Client client =3D buildUnsecureClient(config).register(JacksonFeature.= class);
client.register(getAuthent= icationFeature(user, = pass));
= WebTarget target =3D client.target(url);
Response response = =3D target
.request(MediaType.APPLICATION_JSON)
.build("POST", Entity.entity(data, MediaType.APPLICATI= ON_JSON))
.invoke();
String text =3D response.rea= dEntity(String.class);
S= ystem.out.println("Response:" + text);
<= br> }
private static Client buildUnsecureClient(ClientConfig con= fig) {
try {
final SSLContext c= ontext =3D SSLContext.getInstance("TLSv1");
final TrustMana= ger[] trustManagerArray =3D {new = span>NullX509TrustManager()};
= span>
context.init(null, trustManagerArray, null);
return ClientBuilder.newBuilder()
.withConfig(config)
.hostnameVerif= ier(new NullHostnameVerifier= ())
.sslContext(context)
.build();
= } catch (Exception ex) {
= return ClientBuilde= r.newClient(config); }
}
=
private static HttpAu= thenticationFeature getAuthenticat= ionFeature(String username, = String password) {
= return HttpAuthenticationFeature.basic(username, DigestUtils.shaHex(pa= ssword));
}
/**
* Host = name verifier that does not perform any checks.
*/
private static class <= /span>NullHostnameVerifier implemen= ts HostnameVerifier {
public boolean verify(String hostname, SSLSes= sion session) {
return = true;
}
= }
/**
* Trust manager that does not perform an= y checks.
*/
private static class NullX509TrustManager implements X509TrustManager {
= public void checkClientTrusted(X509Certificate[] chain<= span style=3D"color: rgb(204,120,50);">, String authType)
= throws CertificateExcep= tion {
}
publ= ic void checkServerTrusted<= /span>(X509Certificate[] chain, String authType)
throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}<= br> }
}