Я пытаюсь внедрить MTL в моем приложении Android, используя сертификат, хранящийся в ключевой матче. Вот поток, который я следую: < /p>
Я отображаю сборщик сертификата пользователю, чтобы выбрать желаемый сертификат. При попытке установить соединение я получаю следующее исключение: < /p>
, вызванное: java.security.cert.certpathvalidatorexception: доверие
для сертификации не найден. из файла, хранящегося на устройстве, и в этом случае соединение работает правильно.actual fun clientWithMtls(block: HttpClientConfig.() -> Unit) = HttpClient(OkHttp) {
val keyStore = KeyStore.getInstance(KeyStore.getDefaultType())
keyStore.load(null, null)
CertificateChain.certificateChain?.let{ x509Certificates ->
for ((index, cert) in x509Certificates.withIndex()) {
keyStore.setCertificateEntry("${CertificateChain.alias}-$index", cert)
}
}
val trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm())
trustManagerFactory.init(keyStore)
val sslContext = SSLContext.getInstance("TLS").apply {
init(null, trustManagerFactory.trustManagers,null)
}
engine {
preconfigured = OkHttpClient.Builder()
.sslSocketFactory(sslContext.socketFactory, trustManagerFactory.trustManagers.first() as X509TrustManager)
.build()
}
}
< /code>
Я проверил его, добавив KeyManager в SSLContext Инициализацию: < /p>
// Initialize KeyManagerFactory with the keystore
val keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm())
keyManagerFactory.init(
keyStore,
null
) // Assuming keys do not require additional passwords
val sslContext = SSLContext.getInstance("TLS").apply {
init(keyManagerFactory.keyManagers, trustManagerFactory.trustManagers, SecureRandom())
}
< /code>
Я обращаюсь, чтобы увидеть, столкнулся ли кто -нибудь аналогичную проблему или у него есть идеи о том, как его разрешить. < /p>
Любые предложения будут высоко оценены. Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/795 ... chor-for-c
Реализация MTL в Android с использованием сертификата от ключей: ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как защитить некоторые конечные точки с помощью mTL, а некоторые с помощью JWT?
Anonymous » » в форуме JAVA - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как реализовать MTL между клиентом и сервером в C# с помощью Bouncy Castle?
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как экспортировать OBJ с текстурой (JPG + MTL) из сканирования Arkit LiDAR в iOS?
Anonymous » » в форуме IOS - 0 Ответы
- 35 Просмотры
-
Последнее сообщение Anonymous
-