| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Java SSL |
| Автор: Alone 24.9.2004, 10:11 |
| Доброго дня всем. Кто сможет подсказать - как сгенерить ключики непосредственно из программы а не внешними инструментами? Потому как это будет на стороне клиента, и лишние телодвижения ему не нужны. |
| Автор: Zandr 24.9.2004, 11:01 |
| java.security, java.security.* смотрел? Какие для SSL нада ключи? Просто пока не шарю в этом совсем... |
| Автор: Alone 24.9.2004, 11:19 |
| Ключи генерятся с помощью утилиты keytool и результат - в файл. А мне надо по ходу программы сгенерить их... |
| Автор: AntonSaburov 24.9.2004, 14:41 |
| Посмотри javax.crypto.* |
| Автор: x00 2.2.2008, 16:16 |
| у меня возникла такая же проблема надо весь процесс автоматизировать. Клиент с сервером должны общаться по сети , впервые видя друг друга, с помощью ssl, и все должно происходить автоматически. Может кто-то что подскажет, или в доку ткнет? Может есть какие-то готовые реализации? |
| Автор: w1nd 2.2.2008, 17:59 |
| Вообще странное желание - использовать SSL и не использовать аутентификацию. Как подключаетесь к удалённому серверу? |
| Автор: Alexandr87 2.2.2008, 18:45 |
| x00, клиенту ключи иметь не обязательно. Серверу же нужна не только ключевая пара, но и сертификат. Причем, один раз сгенериров ключи и сертификат, сервер использует их для всех клиентов. Ну и средствами J2SE сертификат не выпустишь - нужны дополнительные библиотеки (например, boucycastle.org). Так что, я б на вашем месте задумался. Может все же лучше, один раз сгенерировать ключики и сертификат в сторонней программе. |
| Автор: Alexandr87 3.2.2008, 07:24 | ||
Покажите API. а какие они могут быть? |
| Автор: w1nd 3.2.2008, 22:13 |
Да всё там же - java.security, java.security.cert - там что-то вроде CertificateFactory было. Вообще, поковыряйтесь в исходниках keytool (можно найти в Сети) - оно точнее будет. Начиная от типичных - через URL и RMI, и заканчивая бесчисленным множеством сторонних библиотек и протоколов. В каждом случае способ конфигурирования SSL различается. В общем - автору нужно отключить (реализовать свою) авторизацию сервера. |
| Автор: Alexandr87 4.2.2008, 16:52 |
ну дык он для другого предназначен. Вобсчем будет время - буду смотреть исходники keytool. |
| Автор: x00 5.2.2008, 16:57 |
| Хотелось бы написать программу, для локалки, которая обеспечивала бы сикьюрный обмен сообщениями, как бродкаст от одного всем, так и риалтайм чат между двумя участниками, также и с передачей файлов. Хотелось бы, чтобы все было максимально сикьюрно. Каждый участник выступает как клиентом, так и сервером, и может посылать бродкаст месажи, которые должны понимать только авторизированные в данный момент клиенты. Как я понимаю бек какого-то отдельного сервера регистрации мне не обойтись? Или можно будет возложить эту задачу на одного из доверенных участников? пс Если кто знает подскажите есть ли какие то доки по работе жава с смарт картами. |
| Автор: Alexandr87 5.2.2008, 18:47 | ||||
SSL это соединение между двумя компьютерами, ни о каком бродкасте речи быть не может. Как варинат, наличие сервера - центра коммуникации. Текущие клиенты подключены к серверу и обмениваются информацией через него, тут вам и бродкаст и все, что захотите. Перед первым сеансом работы, клиенты обязаны зарегистрировать на сервере, с занесением в базу данных пользовтаелей, выдачей сертификата для аутентификации и прочими процедурами. В общем все зависит от требоаний, которые предъявляются к системе.
вообще у нас тут принято: Одна тема - один вопрос. А так, можете посмотреть, входящий в состав j2se, крипто-провайдер SunPKCS. http://java.sun.com/j2se/1.5.0/docs/guide/security/p11guide.html Но когда я года полтора назад с ним работал, меня в нем что то не устроило (что-то вроде невозможность просмотреть публичные объекты без ввода пина), я использовал просто враппер для pkcs#11 библиотек, который sun сам же и предоставляет, смотреть sun.security.pkcs11.wrapper. |
| Автор: x00 5.2.2008, 19:24 | ||||
да да, это понятно, через ссл хотел реализовать чат, а бродкастить сообщения зашифрованные асимметричным ключом, например, те кто в состоянии могут прочесть. или использовать сервет который знает всех онлайн клиентов, и делает рассылку.
хорошая идея, но как это организовать что использовать? желательно также, чтобы регистрация клиента тоже проходила максимально секьюрно, и секрет клиента никто не узнал. Обмен сообщениями было бы удобно организовать RMI + SSL, передавать файлы через ssl socket, только перед этим хотелось бы автоматизировать все что возможно. Допустимо чтобы приложение спрашивало у пользователя пасворд, но не как чтобы каждый генерил сертификат. Также хотелось бы, чтобы ключи и сертификаты менялись как можно чаще. У кого есть какие идеи по реализации такой системы? |