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
У меня есть код Python, который делает HTTP -запрос: < /p> [code]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 [/code]. Где мне это сделать?
Я пытаюсь использовать SSL с комаром. # This script will generate a CA's private key and self-signed certificate,
# a server's private key and CSR, and finally, a server's certificate signed by the CA.
# You can then use these certificates for...
What is the difference between app signing certificate and upload certificate? I am having trouble with integrating Google Play Games with my app (I posted about this as another question) and I noticed that the one that is used for client Id that is...
Я использую Python для подключения и получения данных Big Query с моего корпоративного сервера. Однако я получаю сообщение об ошибке
TransportError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded with url: /token...
Я пытаюсь очистить веб-сайт, на котором есть аутентификация при входе.
Мне удалось использовать библиотеку запросов Python, но когда я попытался преобразовать ее в Kotlin Ktor библиотека (чтобы реализовать ее в своем проекте Android). Я столкнулся...
Я пытаюсь подключить файлы S3 Amazon со своего (локального) компьютера с Windows 8, на котором работает AppServ 2.5.10 (который включает Apache 2.2.8, php 5.2.6, mysql 5.0.51b и phpMyAdmin 2.10.3) с использованием Amazon SDK для php.