SpringBoot忽略https证书:No subject alternative names present

  • 在启动时候调用:
  • disableSslVerification();
  • 具体实现如下:
  • private static void disableSslVerification() {
           try
           {
               // Create a trust manager that does not validate certificate chains
               TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
                   public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                       return null;
                   }
                   public void checkClientTrusted(X509Certificate[] certs, String authType) {
                   }
                   public void checkServerTrusted(X509Certificate[] certs, String authType) {
                   }
               }
               };
    
               // Install the all-trusting trust manager
               SSLContext sc = SSLContext.getInstance("SSL");
               sc.init(null, trustAllCerts, new java.security.SecureRandom());
               HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    
               // Create all-trusting host name verifier
               HostnameVerifier allHostsValid = new HostnameVerifier() {
                   public boolean verify(String hostname, SSLSession session) {
                       return true;
                   }
               };
    
               // Install the all-trusting host verifier
               HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
           } catch (NoSuchAlgorithmException e) {
               e.printStackTrace();
           } catch (KeyManagementException e) {
               e.printStackTrace();
           }
       }

猜你喜欢

转载自blog.csdn.net/Kevin_Gu6/article/details/82413771
今日推荐