-
[Flutter] HandshakeException: Handshake error in client (OS Error: CERTIFICATE_VERIFY_FAILED)Programing/Flutter 2024. 5. 19. 00:51반응형
앱에서 서버로 request를 보내는 과정에서 다음과 같은 에러가 발생했습니다.
원인은 요청한 서버의 인증서(CA)가 공인된 인증서가 아니기 때문입니다.
권장할 수 없는 방법이긴 하지만, 우회/무시 할 수 있는 방법은 있습니다.
방법
1. main.dart에 새로운 MyHttpOverrides class 추가
// ... class MyHttpOverrides extends HttpOverrides{ @override HttpClient createHttpClient(SecurityContext? context){ // '?'를 추가해서 null safety 확보 return super.createHttpClient(context) ..badCertificateCallback = (X509Certificate cert, String host, int port)=> true; } }
- 참조의 stackoverflow에서는 빠져있지만, SecurityContext에 ? 를 추가해서 null safety를 확보합니다.
- dart:io를 import 합니다.
import 'dart:io';
2. main.dart 내, main()함수에 MyHttpOverrides() 추가
위에서 만든 클래스를 추가해줍니다.
void main(){ // ... // 아래의 코드 추가 HttpOverrides.global = MyHttpOverrides(); runApp(const ProviderScope(child: MyApp())); }
반응형'Programing > Flutter' 카테고리의 다른 글