Allow Insecure SSL

Saat menggunakan Flutter, kadang kala kita perlu berinteraksi dengan API atau sumber daya jaringan lainnya yang menggunakan sertifikat SSL yang tidak sah atau tidak valid. Ini bisa terjadi saat kita mengembangkan aplikasi di lingkungan pengembangan atau ketika kita menggunakan API dari sumber yang tidak dapat dipercaya. Ketika itu terjadi, Flutter akan mengeluarkan kesalahan SSL yang tidak aman (insecure SSL) dan akan memblokir permintaan jaringan.

Namun, ada beberapa cara untuk mengizinkan Flutter untuk berinteraksi dengan sumber daya jaringan yang menggunakan sertifikat SSL yang tidak sah atau tidak valid. Salah satunya adalah dengan mengganti Client standar Flutter dengan IOClient yang memungkinkan kita untuk menangani sertifikat SSL yang tidak aman.


import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart';
import 'package:http/io_client.dart';

class AppProvider {
// Replace
// Client client = Client();
// with
Client client = IOClient(HttpClient()..badCertificateCallback = (cert, host, port) => true);

...

}

Dalam contoh di atas, kita membuat objek HttpClient dan menetapkan callback badCertificateCallback-nya ke fungsi yang selalu mengembalikan nilai true. Ini memungkinkan klien IO untuk memperlakukan semua sertifikat SSL sebagai valid, termasuk sertifikat yang tidak sah atau tidak valid.

Sehingga, kita telah berhasil mengizinkan Flutter untuk berinteraksi dengan sumber daya jaringan yang menggunakan sertifikat SSL yang tidak sah atau tidak valid. Namun, penting untuk diingat bahwa tindakan ini tidak dianjurkan dalam lingkungan produksi. Sebagai pengembang, kita harus selalu berupaya untuk menggunakan sertifikat SSL yang sah dan valid dalam aplikasi kita.

Yohan Naftali

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.