2016-06-27 13 views
9

Aktualnie pracuję w/reaguję natywnie na Androida. Robię żądania api przy użyciu fetch(), ale żądania dają mi awarię żądania sieciowego, która jest spowodowana punktem końcowym bez certyfikatu ssl. Mogłem usunąć to sprawdzanie na iOS, modyfikując niektóre pliki xcode. Czy istnieje sposób, aby zignorować testy certyfikatów SSL w systemie Android?Ignoruj ​​certyfikat SSL Sprawdź w systemie Android React Native

+2

Jakieś rozwiązanie tego problemu? – Upendra

Odpowiedz

1
/** 
* Disables the SSL certificate checking for new instances of {@link HttpsURLConnection} This has been created to 
* aid testing on a local box, not for use on production. 
*/ 
private static void disableSSLCertificateChecking() { 
    TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { 
     public X509Certificate[] getAcceptedIssuers() { 
      return null; 
     } 

     @Override 
     public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { 
      // Not implemented 
     } 

     @Override 
     public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { 
      // Not implemented 
     } 
    } }; 

    try { 
     SSLContext sc = SSLContext.getInstance("TLS"); 

     sc.init(null, trustAllCerts, new java.security.SecureRandom()); 

     HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); 
    } catch (KeyManagementException e) { 
     e.printStackTrace(); 
    } catch (NoSuchAlgorithmException e) { 
     e.printStackTrace(); 
    } 
} 

Znaleziono tutaj: https://gist.github.com/aembleton/889392. Nie jestem pewien, czy to działa, ale jest to początek!