본문 바로가기

Mobile/Flutter

flutter CERTIFICATE_VERIFY_FAILED: self signed certificate in certificate

반응형

flutter 에서 http 통신을 하려고 하다보니 계속 해당 오류가 발생 한다.

ssl 문제로 생각됨

확인해 보니 Manifest에 권한도 문제 없고

App -> main -> res -> AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.first">

    <uses-permission android:name="android.permission.INTERNET"/>

   <application
        android:label="first"
        .....

이상해서... 

아마 회사망이라 그러지 않을까 생각하다 서핑을 다시 시작했다.

그러던중 특정 중국인의 Youtube를 발견했고 이상 없이 조치 했다.

어렵지는 않다.

1. 신규 Class 생성 main.dart 파일 안에

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

2. void main(){에 코드 추가

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

 

아마도 깊게는 안봤지만 기존 HttpClient를 Override하고 해당 객체를 글로벌로 올려서 

ssl 오류 부분을 다 신뢰로 바꾸는 작업 인걸로 생각된다.

반응형