Terkadang User ketika memakai aplikasi kita yang dibuat dengan Flutter mendapatkan error CERTIFICATE_VERIFY_FAILED
ketika melakukan HIT API Request terutama ketika POST
method. Permasalahan ini sering terjadi di Android versi 6 atau kebawah, tapi tidak semuanya atau random saja user yang mendapatkan error tersebut.
Contoh errornya:
|
|
Untuk issue ini pada saat saya membuat artikel ini issue masalah CERTIFICATE_VERIFY_FAILED
masih belum terpecahkan di Dart/Flutter, yang Anda bisa lihat di github
Pada kali ini Saya membagikan pengalaman ketika memperbaiki masalah ini pada kasus saya sebelumnya. Kasus saya sebelumnya padahal SSL
(Secure Socket Layer) masih aktif tapi issue CERTIFICATE_VERIFY_FAILED
ini malah muncul di sebagian Android. Berikut solusi-solusi yang Saya dapatkan:
1. Mengizin Semua Certificate (SSL) #
Langkah pertama Anda perlu membuat HttpOverrides
sendiri, untuk handle certificate. Berikut contohnya:
|
|
Jangan lupa import dart:io
ketika memanggil HttpOverrides
.
Kemudian di function main()
di file main.dart
set HttpOverrides.global
dengan HttpOverrides yang barusan dibuat. Taruh code ini di dalam function main dan letakkan di paling atas, contoh:
|
|
2. Ketika Menggunakan Dio Http Client #
Jika Anda menggunakan Dio sebagai Http Client di aplikasi Anda, Anda cukup letakkan kode ini sebelum menjalankan fungsi apapun, contoh:
|
|
Dan pastikan Anda membuat satu variable
Dio
yang Anda set ketika gagal memverifikasi cetificate, atau juga bisa menggunakan service locator atau dependency injection, yang nantinya akan diapakai ketika request ke server.
Berikut penjelasan singkat untuk mengatasi masalah CERTIFICATE_VERIFY_FAILED
di Flutter semoga dengan adanya ini bisa membantu Anda, Terima Kasih :)
Jika terdapat kesalahan penulisan, typo, atau kurang sesuai dalam penulisan, bantu Saya untuk Edit on Github.
Comment: