Прозрачность сертификата Android

Я пытаюсь использовать SDK из Вавилона для тестирования КТ в приложении для Android. Я попробовал, как указано здесь https://github.com/Babylonpartners/certificate-transparency-android

но я получаю журналы System.out: xxx.xxx.xxx.xxxx.org -> Успешно: SCT не включен для небезопасного соединения

Я уверен, что это безопасные соединения, и у меня есть действующий протокол SCT для них. Когда я копался в коде, я вижу, что

val host = chain.request().url().host()
        val certs = chain.connection()?.handshake()?.peerCertificates()?.map { it as X509Certificate } ?: emptyList()

        val result = if (chain.connection()?.socket() is SSLSocket) {
            verifyCertificateTransparency(host, certs)
        } else {
            VerificationResult.Success.InsecureConnection(host)
        }`

это подходит к остальной части и, таким образом, дает ошибку. Я вижу, что соединение имеет нулевое значение. Любая идея, что может быть не так.

2 ответа

Не зная, что используется полный URL-адрес, довольно сложно понять, с какой проблемой вы столкнулись. Код "должен" достигать толькоelse когда это небезопасное соединение (например, http вместо https).

В библиотеке есть механизм ведения журнала, который может помочь в устранении проблем. При создании перехватчика okhttp установитеlogger = BasicAndroidCRLogger(BuildConfig.DEBUG).

Пожалуйста, скажите мне, как я могу легко использовать сертификат, я на Android 11

Другие вопросы по тегам