Как преобразовать этот код Python с сертификатом клиента SSL в Kotlin & Ktor?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как преобразовать этот код Python с сертификатом клиента SSL в Kotlin & Ktor?

Сообщение Anonymous »

У меня есть код Python, который делает HTTP -запрос: < /p>

Код: Выделить всё

import requests

response = requests.get(
url,
cert = tuple(clientCertPath, pkeyPath), // paths to crt.pem and pkey.pem
verify = serverCertPath // path to server-ca.crt file
)
< /code>
Я бы хотел переписать это в Котлин, используя KTOR. Это то, что я придумал до сих пор: < /p>
val serverCert = serverCertPath.inputStream().use {
CertificateFactory.getInstance("X.509").generateCertificate(it) as X509Certificate
}
val keyStore = KeyStore.getInstance(...).apply {
load(null, null)
setCertificateEntry("serverCert", serverCert)
}
val trustManagerFactory = ... // init with keystore
val sslContext = SSLContext.getInstance("TLS") // and init with above config
val client = HttpClient(Java) {
engine {
config {
sslContext(sslContext)
}
}
}

// So far so good. This server certificate config seems to work and cover the 'verify' parameter. Now for the other cert.

val clientCert = CertificateFactory.getInstance("X.509").let {
clientCertPath.inputStream().use { stream -> it.generateCertificate(stream) as X509Certificate }
}

client.request(url) {
this.method = HttpMethod.Get
// how to supply client cert?
}
< /code>
А теперь я застрял. Как применить сертификат клиента к запросу? Конфигурация на уровне клиента или конфигурация на уровне запросов была бы в порядке со мной. Кроме того, я до сих пор не использовал Pkeypath 
. Где мне это сделать?

Подробнее здесь: https://stackoverflow.com/questions/769 ... otlin-ktor
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»