我正在尝试使用来自巴比伦的sdk在android应用程序中测试CT。我试过了,就像这里给的https://github.com/babylonhealth/certificate-transparency-android
但是我得到的日志是System.out: 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)
}`它进入else部分,因此给出了错误。我看到连接的值为空值。知道哪里出问题了吗。
发布于 2020-08-02 06:41:33
在不知道正在使用的完整URL的情况下,很难知道您遇到了什么问题。只有当它是不安全的连接(即http而不是https)时,代码才“应该”到达else。
该库确实有一个日志记录机制,可以帮助调试问题。创建okhttp拦截器时,设置logger = BasicAndroidCRLogger(BuildConfig.DEBUG)。
https://stackoverflow.com/questions/57513756
复制相似问题