JDBC через SSL к базе данных Cache - PullRequest
1 голос
/ 20 июля 2011

Я здесь довольно далеко, так что терпите меня.Мы используем JDBC через com.intersys.jdbc.cachedriver для запуска хранимых процедур в Intersystems Cache и получения результатов в Java.Однако есть и другие клиенты, которые подключаются напрямую к кешу через терминал через telnet.Мы должны заблокировать порт Telnet в Cache, чтобы можно было использовать только Telnet через SSL.Однако эксперты Cache здесь говорят, что блокировка одного порта в Cache блокирует их все, поэтому для соединения Java с Cache также придется использовать SSL.Я смутно понимаю, что некоторые драйверы JDBC поддерживают SSL, но я не вижу, что это делает Cache.Что мне нужно знать:

  1. Что необходимо для настройки SSL для соединений JDBC?(Мы используем JBoss 4.2.3)
  2. А как насчет сертификатов?Я предполагаю, что они должны куда-то идти.
  3. Правда ли, что блокировка соединений telnet также блокирует JDBC таким же образом?

Ответы [ 2 ]

2 голосов
/ 21 июля 2011
  1. Настройка клиентов Java для использования SSL / TLS с Caché

  2. Использование SSL / TLS с Caché

  3. Telnet vs ssh - это вопрос о том, что ОС разрешает и относится только к Cache периферийно. Это ничего не значит в отношении пунктов 1 или 2. Поэтому, отвечая на прямой вопрос, который вы задаете, «Нет».

1 голос
/ 22 июля 2011
  1. What's needed to configure SSL for the JDBC connections? (We're using JBoss 4.2.3)

Подробнее см. http://docs.intersystems.com/cache20102/csp/docbook/DocBook.UI.Page.cls?KEY=GCAS_ssltls#GCAS_ssltls_javacli. В этом разделе явно не упоминается JDBC, но это верно для JDBC (и ссылка была добавлена ​​для документации 2011.1 [следующий выпуск].)

  2. What about certificates? I assume those have to go somewhere.

Чтобы процитировать документацию: «Если у клиента есть закрытый ключ и сертификат, они хранятся в хранилище ключей клиента; хранилище ключей также может содержать сертификат корневого ЦС клиента и любые промежуточные сертификаты ЦС. Для проверки подлинности сервера клиент может потребоваться наличие корневого сертификата CA для сервера и любых промежуточных сертификатов CA, которые могут храниться либо в хранилище доверенных сертификатов клиента, либо вместе с информацией о сертификате клиента в хранилище ключей. Truststores »в Справочном руководстве по расширению защищенных сокетов Java (JSSE)."

  3. Is it actually true that locking down the telnet connections is also going lock down JDBC in the same way? 

Да - если для соединений telnet требуется TLS, необходимо задать параметр TLS суперсервера, что означает, что вы должны использовать TLS для всего, что проходит через суперсервер (включая JDBC). Если вы просто хотите разрешить использование TLS для соединений telnet, установите значение TLS на Включено, что разрешает соединения без TLS другими способами (такими как JDBC).

...