1

在使用 android 28 测试 network_security_config 文件后,我看到使用 ktor kmm(使用 OkHttp)时证书固定工作但是,在 android 7 以下的设备中,有没有办法设置证书固定。

我尝试了这些代码,但它似乎不起作用,如何使用 kmm 在 ios 中设置证书固定?

actual class Platform actual constructor() {
    actual val clientEngine: HttpClientEngineFactory<HttpClientEngineConfig>
        get() = OkHttp.apply {
            config {
                val certificatePinner = CertificatePinner.Builder()
                    .add(
                        "test.com.co",
                        "sha256/xxxx"
                    ).build()
                preconfigured = OkHttpClient.Builder()
                    .certificatePinner(certificatePinner)
                    .build()
            }
        }
}

fun testHttpClient(
    config: EnvConfiguration,
    checker: NetworkChecker,
    header: HeaderProvider
): HttpClient =
    HttpClient(Platform().clientEngine) {
        install(JsonFeature) {
            serializer = KotlinxSerializer(
                kotlinx.serialization.json.Json {
                    prettyPrint = true
                }
            )
        }
    ...
    }
4

0 回答 0