Прозрачность сертификата 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