0

我正在尝试使用巴比伦的 sdk 在 android 应用程序中测试 CT。我尝试了这里给出的https://github.com/babylonhealth/certificate-transparency-android

但我收到日志 System.out: xxx.xxx.xxx.xxxx.org -> Success: SCT not enabled for insecure connection

我非常确定这些是安全连接,并且我有有效的 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)
        }`

它来到了其他部分,从而给出了错误。我看到连接具有空值。任何想法可能是错的。

4

1 回答 1

0

在不知道所使用的完整 URL 的情况下,很难知道您遇到了什么问题。else代码“应该”仅在它是不安全的连接(即 http 而不是 https)时到达。

该库确实具有可能有助于调试问题的日志记录机制。创建 okhttp 拦截器时,设置logger = BasicAndroidCRLogger(BuildConfig.DEBUG).

于 2020-08-01T22:41:32.510 回答