SSLSocketClientUtil.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.genersoft.iot.vmp.utils;
  2. import javax.net.ssl.*;
  3. import java.security.KeyManagementException;
  4. import java.security.NoSuchAlgorithmException;
  5. import java.security.SecureRandom;
  6. import java.security.cert.CertificateException;
  7. import java.security.cert.X509Certificate;
  8. public class SSLSocketClientUtil {
  9. public static SSLSocketFactory getSocketFactory(TrustManager manager) {
  10. SSLSocketFactory socketFactory = null;
  11. try {
  12. SSLContext sslContext = SSLContext.getInstance("SSL");
  13. sslContext.init(null, new TrustManager[]{manager}, new SecureRandom());
  14. socketFactory = sslContext.getSocketFactory();
  15. } catch (NoSuchAlgorithmException e) {
  16. e.printStackTrace();
  17. } catch (KeyManagementException e) {
  18. e.printStackTrace();
  19. }
  20. return socketFactory;
  21. }
  22. public static X509TrustManager getX509TrustManager() {
  23. return new X509TrustManager() {
  24. @Override
  25. public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
  26. }
  27. @Override
  28. public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
  29. }
  30. @Override
  31. public X509Certificate[] getAcceptedIssuers() {
  32. return new X509Certificate[0];
  33. }
  34. };
  35. }
  36. public static HostnameVerifier getHostnameVerifier() {
  37. HostnameVerifier hostnameVerifier = new HostnameVerifier() {
  38. @Override
  39. public boolean verify(String s, SSLSession sslSession) {
  40. return true;
  41. }
  42. };
  43. return hostnameVerifier;
  44. }
  45. }