https get

Gandliar

Lotus Team
16.02.2004
566
26
BIT
124
Здравствуйте!
Сейчас есть сервер 8.5.3 на windows 2008r2

Есть большое желание автоматически получать курсы валют с нацбанка
Раньше все прекрасно получалось на java, пока на сайте нацбанка был http
Пока, как ни пытался, не получается переписать java-код. Пробовал варианты без проверки сертификата, с других сайтов получается - с этого нет (Remote host closed connection during handshake)
Может кто может подсказать путь решения?

Также вопрос - если поднять версию сервера до 10, чтобы заработал httprequest на скрипте- будет ли работать с https ?
Есть ли смысл подымать версию сервера до 11 и встанет ли она на 2008r2 ?
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
1. Нужно загрузить сертификат с их сервера.
2. Добавить этот сертификат в своё хранилище доверенных сертификатов.
3. При запуске агента указать это хранилище.

По каждому пункту отдельно в Интренете есть инфо безотносительно Domino, только Java, не пугайтесь этого.
Но с вашей версией Domino могут быть проблемы с TLSv1.2

Раньше у SUN был пример на тему загрузки сертификата с удалённого сервера и установки его в своё хранилище InstallCert.java. Но в связи с тем, что Oracle похерил всё Сановское вместе с сайтами и прочими ништяками, этот файл сейчас гуляет по Интернету, по всяким форумам и блогам, некоторые даже на Github его выкладывают.
 

oshmianski

Достойный программист
Lotus Team
25.04.2012
711
59
BIT
8
Экспортировать сертификат можно в браузер. Импортировать - .
Apache Http client пробовали?
Java:
private CloseableHttpClient getDisabledSslVerifyClient() throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException{
        return HttpClients
        .custom()
        .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build())
        .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
        .build();
    }
 

Gandliar

Lotus Team
16.02.2004
566
26
BIT
124
1. Нужно загрузить сертификат с их сервера.
2. Добавить этот сертификат в своё хранилище доверенных сертификатов.
3. При запуске агента указать это хранилище.

По каждому пункту отдельно в Интренете есть инфо безотносительно Domino, только Java, не пугайтесь этого.
Но с вашей версией Domino могут быть проблемы с TLSv1.2
Может ли быть такое, что сервер нацбанка обновился до прекращения поддержки tls 1.0 и 1.1 и соединение без проверки сертификата сбрасывается как раз по причине версии домино, в которой еще нет поддержки tls 1.2 ?
Так как к тому же гуглу конектит и скачивает без проблем.
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
364
Может ли быть такое, что сервер нацбанка обновился до прекращения поддержки tls 1.0 и 1.1 и соединение без проверки сертификата сбрасывается как раз по причине версии домино, в которой еще нет поддержки tls 1.2 ?
Так как к тому же гуглу конектит и скачивает без проблем.
Думаю, что "может". В обычной Java можно при подключении указать версию TLS. Не знаю прокатит ли это с доминошной Java в агенте, но в самом сервере Домино 8-й версии TLSv1.2 вроде вообще нет. Не увидел на сервере нацбанка какого-либо описания/документации как пользоваться их сервисом. Если есть такое описание, может быть там всё разжевано, как у ЦБ РФ .

Попробуйте через потестировать.
 

Gandliar

Lotus Team
16.02.2004
566
26
BIT
124
Экспортировать сертификат можно в браузер. Импортировать - .
Apache Http client пробовали?
Java:
private CloseableHttpClient getDisabledSslVerifyClient() throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException{
        return HttpClients
        .custom()
        .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build())
        .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
        .build();
    }
я пробовал через траст менеджер

До apche http еще не добрался. Видимо там будет вопрос как его корректно подключить.
Просто хотелось бы также чтобы в итоге получилась лотус-скриптовая библиотека, в которой бы была функция, которая бы работала на сервере и на локале и не требовала танцев с ручной загрузкой сертификата и перезагрузкой сервера

Если поставить 11 лотус, NotesHTTPRequest решит эту проблему?
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
542
Если поставить 11 лотус, NotesHTTPRequest решит эту проблему?
Может и 10-ка решить, может и 11-й

для java можно сделать так поддержку TLS, но ее сама jvm сначала должна подддерживать:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!