All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.iartisan.runtime.utils.SSLUtil Maven / Gradle / Ivy

The newest version!

package org.iartisan.runtime.utils;

import javax.net.ssl.*;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

public class SSLUtil {

	public static SSLSocketFactory getSSLSocketFactory() throws Exception {
		TrustManager[] trustAllCerts = new TrustManager[1];
		TrustManager tm = new CustomerTrustManager();
		trustAllCerts[0] = tm;
		SSLContext sslContext = SSLContext.getInstance("SSL");
		sslContext.init(null, trustAllCerts, new SecureRandom());
		return sslContext.getSocketFactory();
	}

	public static X509TrustManager getTrustManager() throws Exception {
		X509TrustManager trustManager = new X509TrustManager() {
			@Override
			public X509Certificate[] getAcceptedIssuers() {
				X509Certificate[] x509Certificates = new X509Certificate[0];
				return x509Certificates;
			}

			@Override
			public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
			}

			@Override
			public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
			}
		};
		return trustManager;
	}

	public static HostnameVerifier getHostnameVerifier() throws Exception {
		HostnameVerifier hostnameVerifier = new HostnameVerifier() {
			@Override
			public boolean verify(String hostname, SSLSession session) {
				return true;
			}
		};
		return hostnameVerifier;
	}

	static class CustomerTrustManager implements TrustManager, X509TrustManager {
		@Override
		public X509Certificate[] getAcceptedIssuers() {
			return null;
		}

		public boolean isServerTrusted(X509Certificate[] certs) {
			return true;
		}

		public boolean isClientTrusted(X509Certificate[] certs) {
			return true;
		}
		@Override
		public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException {
			return;
		}
		@Override
		public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException {
			return;
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy