Вы на самом деле не помечаете сертификат как недействительный, потому что вы ловите CertificateException
и глотаете его. Не выбрасывая CertificateException
, вы сообщаете библиотеке HTTP, что недействительный сертификат действителен, который он, вероятно, кэширует, чтобы не повторять проверку сертификата слишком много раз.
Вам необходимо разрешить CertificateException
быть выброшенным из методов X509TrustManager
, перехватить ошибку на сайтах HTTP-вызовов и показать там диалог.