powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как соединиться с БД через SSL?
10 сообщений из 10, страница 1 из 1
Как соединиться с БД через SSL?
    #34332685
tigerkvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте профи

Кто просветит как к MySQL организовать подключение с SSL из java приложения?
В доках по MySQL есть описание
http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-using-ssl.html

но я не пойму куда надо прописывать это:
-Djavax.net.ssl.keyStore=path_to_keystore_file
-Djavax.net.ssl.keyStorePassword=*********
-Djavax.net.ssl.trustStore=path_to_truststore_file
-Djavax.net.ssl.trustStorePassword=*********
и что это за пароли?
Если это пароли к сертификатам, то в чем смысл такого SSL?

А если это вообще не то, то как мне все-таки организовать защищенное соединение с сервером MySQL?
(сервер на SSL настроен сертификаты проверил)
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34333061
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте внмательно: keyStorePassword - это пароль для доступа к хранилищу ключей и сертификатов, которые в Java хранятся в специальном файле, создаваемом и упрправляемым с помощью утилиты keytool входящей в состав JDK.
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34333222
tigerkvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
keytool подходит если серверная часть тоже моя
А если сервер не мой и сертификаты к MySQL мне уже дали?
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34333264
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
keytool создает хранилище ключей и сертификатов и управляет им. Физически хранилище представляет собой файл. На своем "домашнем" компьтере Вы можете создать такой файл и импортировать в него предоставленный Вам сертификат. При запуске своего приложения Вы указывате с помощью приведенных Вами в первом посте ключей путь к хранилищу и пароль для доступа к нему:
Код: plaintext
1.
java -Djavax.net.ssl.keyStore=c:/mykeystore -Djavax.net.ssl.keyStorePassword= 123  MyProgram
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34333612
unregestered
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почти верно только надо указывать не хранилище закрытых ключей (keystore) а хранилище открытых ключей (truststore). Поскольку именно сервер коннектится БД, а не наоборот некто коннектится к серверу.
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34334237
tigerkvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А при последующей эксплуатации программы мне что каждому юзеру отдельно ходить генерить эти хранилища?
Я думал создать какой-то ключ, вставить его в прогу и пусть по шифрованному каналу работает с базой, а уровень доступа уже в зависимости от логина.
Может я вообще тогда не ту технологию применяю?
Кто направит на путь истинный?
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34334417
unregestered
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Причём эта проблема практически не зависит от архитектуры/технологии. Так если бы например пользователь работал через Веб-интерфейс, то пришлось бы на каждой рабочей машине установить сертификат для работы через Https (либо купить его у соответствующей организации). Но может быть кто-нибудь подскажет более простые и столь же безопасные решения? Но скажите, неужели это настолько серьёзная проблема для техника/администратора?
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34334524
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tigerkvvА при последующей эксплуатации программы мне что каждому юзеру отдельно ходить генерить эти хранилища?
- а в чем проблема? Если Вы хотите для каждого клиента отдельный сертификат, то генерите его для каждого клиента, пихаете в индивидуальное хранилище, копируете файл хранилище вместе с программой для доступа к БД и bat/sh скриптом запуска этой программы, где указан относительный путь к хранилищу, на машину клиента. Клиент запускает скрипт и все работает. А если сделать один клиентский сертификат (одинаковый для всех клиентов), то хранилище надо будет создать только один раз.
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34337802
tigerkvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается что-то.
Вот например мне не понятно почему при генерации хранилища и ключей не используется сертификат выданный для клиента из openssl на серваке где БД крутится?
В конфиге MySQL для клиента прописано
ssl-ca=/home/client/ca.crt
ssl-cert=/home/client/test.crt
ssl-key=/home/client/test.key

Или надо то, что получилось от keytool влить куда-то на сервак ?
Куда его тогда прописывать там?
...
Рейтинг: 0 / 0
Как соединиться с БД через SSL?
    #34337970
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С помощью keytool Вы создаете файл хранилище сертификатов, которые будут использоваться JVM.
Т. к. у Вас имеются готовые сертификаты Вам необходимо импортировать их в хранилище с помощью этой утилиты. Сертификаты должны быть оформлены в формате PKCS7.
Код: plaintext
1.
keytool - import  ... и т. д.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как соединиться с БД через SSL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]