8
votes

Erreur de prise de contact HTTPS Flutter dans le client (erreur du système d'exploitation: CERTIFICATE_VERIFY_FAILED: ok (handshake.cc:363))

Un collègue m'a donné un projet Flutter pour essayer de créer l'application sous iOS (j'utilise un Mac, nous utilisons tous les deux Android Studio). Tout va bien sauf cette erreur:

client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;

Si j'utilise HTTP au lieu de HTTPS, cela fonctionne évidemment. Mon collègue a dit qu'il a résolu en ajoutant cette ligne de code:

Handshake error in client (OS Error: CERTIFICATE_VERIFY_FAILED: ok(handshake.cc:363))

Cette ligne de code est également dans mon projet car la source est la même. Alors pourquoi ça marche sur Android, mais pas sur iOS?


0 commentaires

4 Réponses :


-2
votes

Vérifiez votre certificat https que vous utilisez, je pense qu'iOS a des mesures plus strictes qu'android en ce qui concerne la connexion https. Pour être prudent, essayez de mettre à jour votre certificat de serveur.


0 commentaires

-1
votes

cela devrait fonctionner sur ios si vous avez ajouté cette ligne

client.badCertificateCallback = (X509Certificate cert, String host, int port) 
=> true;

alors vérifiez que vous utilisez la même instance du client pour votre demande, et que vous faites la demande après vous définissez le paramètre badCertificateCallback


0 commentaires

8
votes

meilleure façon de résoudre les problèmes de certification SSL sur tous les sites http demandes

il fonctionne sur les deux plates-formes (Android et iOS)

class MyHttpOverrides extends HttpOverrides{
  @override
  HttpClient createHttpClient(SecurityContext context){
    return super.createHttpClient(context)
      ..badCertificateCallback = (X509Certificate cert, String host, int port)=> true;
  }
}

void main(){
    HttpOverrides.global = new MyHttpOverrides();
    runApp(new MyApp());
}


0 commentaires

1
votes

Ancienne question mais ma solution était de m'assurer que l'heure / la date était correctement réglée sur le client


0 commentaires