Thursday, November 14, 2019

Cara Melewati Validasi Certificate pada POST dan GET Request HTTPS

Mengatasi Error CERTIFICATE_VERIFY_FAILED Pada Flutter
Cara ByPass Validasi Setifikat HTTPS pada Request POST dan GET Flutter - Ketika kita membuat aplikasi mobile baik Android maupun IOS dengan codebase Flutter, biasanya kita mengirimkan data ke proses back-end (server) melalui 2 method HTTP baik itu GET maupun POST.

Method HTTP GET dan POST adalah metode paling umum digunakan oleh developer untuk berkomunikasi dengan sisi back-end. Untuk menambahkan tingkat keamanan data, tidak sedikit pula yang menggunakan metode SSL atau menambahkan sertifikat pada HTTP sehingga disebut dengan HTTPS. Sertifikat pada HTTPS masih dibagia menjadi 2 bagian lagi yaitu sertifikat private dan sertifikat public (yang berlaku secara global).

Dengan menggunakan HTTPS tentu saja akan menjamin keamanan tranmisi data dari aplikasi mobile kita sampe ke server back-end. Namun dalam mengembangkan aplikasi mobile terkadang kita terkendala dengan berbagai masalah pada sertifikat HTTPS seperti sertifikat sudah kadaluarsa, sertifikat bersifat private, dan sejenisnya. Hal-hal tersebut akan menyebabkan proses komunikasi ke server back-end gagal dan menyebabkan error CERTIFICATE_VERIFY_FAILED pada Flutter (Dart).

Padahal sebagai developer kita harus memikirkan cara bagaimana, jika hal-hal demikian terjadi pada sertifikat HTTPS server back-end kita, aplikasi harus tetap jalan dengan baik (kecuali itu sebagai aturan ketat yang tidak boleh kita lalui). Untuk itu, berikut adalah cara / kode untuk melewati validasi sertifikat method POS dan GET pada request HTTPS dengan Flutter.

Package Tambahan
http: ^0.12.0+1

Kode:

Keterangan
Pada contoh kode di atas kita melakukan request GET ke link https://self-signed.badssl.com/ yang mana link tersebut memiliki seritfikat private (self signed) dimana pada kode standar request HTTP pada Dart/Flutter kasus ini akan menyebabkan error CERTIFICATE_VERIFY_FAILED dan membatalkan request yang dilakukan. Dengan contoh kode di atas error dapat diatasi dan request tetap diproses dengan baik.

Source code lengkap dari projek di atas bisa diambil melalui link dibawah ini

Share This
Previous Post
Next Post

Halo, Saya A.M Hirin seorang Penulis Buku IT, International Freelance Programmer, dan Senior Developer di Perusahaan Konsultan IT. Saya penggila kode dan sudah berkutat selama 15 tahun di dunia pemrograman. Anda membutuhkan bantuan terkait skill dan keahlian saya? Kontak saya melalui email : nump.info@gmail.com

0 komentar: