플러터로 만든 앱에서 안드로이드 환경에서만 웹페이지를 읽어오는 부분에서 오류가 발생함.
서버쪽 인증서 오류 인듯함.
에러 메시지...
I/flutter ( 5949): Error fetching schedule for ID 1890: HandshakeException: Handshake error in client (OS Error:|
I/flutter ( 5949): CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:295))
이것 저것 다 해보다가.. 특정 도메인만 인증서 체크를 우회 하도록 수정했다.
import 'dart:io';
class MyHttpOverrides extends HttpOverrides {
final List<String> allowedHosts;
MyHttpOverrides(this.allowedHosts);
@override
HttpClient createHttpClient(SecurityContext? context) {
return super.createHttpClient(context)
..badCertificateCallback = (X509Certificate cert, String host, int port) {
// allowedHosts 리스트에 있는 도메인만 예외 허용
if (allowedHosts.contains(host)) {
print("SSL 인증서 예외 허용: $host");
return true;
}
return false;
};
}
}
-- Main.dart 에서
HttpOverrides.global = MyHttpOverrides(["도메인 정보 입력"]);
runApp()
'개발이야기' 카테고리의 다른 글
| flutter 안드로이드 빌드시 서명 추가하기 ( build.gradle.kts) (0) | 2025.09.16 |
|---|---|
| flutter 타겟 iOS 버전 13.0 으로 올리기 (0) | 2025.09.16 |
| 플러터 앱 에서 다른앱을 다이렉트로 호출하기 (0) | 2025.06.24 |
| flutter ios 빌드시 wakelock_windows 에러 (0) | 2025.06.15 |
| isar_flutter_libs namespace not specified. (플러터 업그레이드후 에러 ) (1) | 2025.06.09 |