Android 7 以下 Android 设备上 ktor kmm 中的证书固定
使用 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
}
)
}
...
}
After testing network_security_config file with android 28, I see the certificate pinning working when using ktor kmm (using OkHttp)
However, in devices below android 7, Is there any way to setup certificate pinning.
I tried these codes, but it seems not working and how can I setup certifcate pinning in ios with kmm ?
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
}
)
}
...
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论