Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NIO + криптография 
:(
    Опции темы
can4ec
Дата 16.10.2007, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 25.4.2006

Репутация: нет
Всего: 1



Здравствуйте!!! Я написал клиент-сервер через NIO. Теперь мне хотелось бы сделать в своем приложение криптографию. Будут ли какието различия при написание той же криптографии при простом клиент-сервере или же нет? Еь ихсли есть статьи про NIO+криптография  буду рад посмотреть их.
PM MAIL   Вверх
powerOn
Дата 16.10.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 2
Всего: 159



Цитата(can4ec @  16.10.2007,  01:56 Найти цитируемый пост)
Теперь мне хотелось бы сделать в своем приложение криптографию. 

С какой целью?


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
can4ec
Дата 16.10.2007, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 25.4.2006

Репутация: нет
Всего: 1



Цитата(powerOn @ 16.10.2007,  14:43)
Цитата(can4ec @  16.10.2007,  01:56 Найти цитируемый пост)
Теперь мне хотелось бы сделать в своем приложение криптографию. 

С какой целью?

задание такое)
PM MAIL   Вверх
Alexandr87
Дата 16.10.2007, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: нет
Всего: 39



Хм, не знаю, как там с разного рода обертками: типа CipherInputStream, CipherOutputStream (с nio не работал), но сделать шифрование отдельно и затем отправить через NIO вам никто не помешает.
PM Jabber   Вверх
can4ec
Дата 17.10.2007, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 25.4.2006

Репутация: нет
Всего: 1



А как можно еще в самом начале , когда устанавливается соединение между клиентом-сервером, узнать теле это люди? туда ли коннектиться клиент, тому ли сервер отвечает?
Код

Клиент:
 selector = Selector.open();
            InetSocketAddress address = new InetSocketAddress(IConstants.HOST, IConstants.PORT);
            socketChannel = SocketChannel.open();
            socketChannel.configureBlocking(false);
            socketChannel.connect(address);
            while (!socketChannel.finishConnect())
            {

            }
            socketChannel.register(selector, SelectionKey.OP_WRITE);




 или же проверка с использованием криптографии уже идет только при пересылки данных?
PM MAIL   Вверх
powerOn
Дата 17.10.2007, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 2
Всего: 159



Цитата(can4ec @  17.10.2007,  09:21 Найти цитируемый пост)
А как можно еще в самом начале , когда устанавливается соединение между клиентом-сервером, узнать теле это люди? туда ли коннектиться клиент, тому ли сервер отвечает?

Это задача аутентификации/авторизации, а не шифрования. Что бы узнать кто пришел, нужно спросить кто пришел.

Цитата(can4ec @  17.10.2007,  09:21 Найти цитируемый пост)
или же проверка с использованием криптографии уже идет только при пересылки данных? 

Шифрование - это способ сохранения секретности данных, а не её проверки.



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
can4ec
Дата 17.10.2007, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 25.4.2006

Репутация: нет
Всего: 1



Цитата(powerOn @ 17.10.2007,  08:41)
Цитата(can4ec @  17.10.2007,  09:21 Найти цитируемый пост)
А как можно еще в самом начале , когда устанавливается соединение между клиентом-сервером, узнать теле это люди? туда ли коннектиться клиент, тому ли сервер отвечает?

Это задача аутентификации/авторизации, а не шифрования. Что бы узнать кто пришел, нужно спросить кто пришел.

Цитата(can4ec @  17.10.2007,  09:21 Найти цитируемый пост)
или же проверка с использованием криптографии уже идет только при пересылки данных? 

Шифрование - это способ сохранения секретности данных, а не её проверки.

А можно какой-нибудь пример с шифрованием + подпись. 
PM MAIL   Вверх
can4ec
Дата 18.10.2007, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 25.4.2006

Репутация: нет
Всего: 1



powerOn: Не разъяснишь мне. Вот есть сертификат который подтверждает открытый ключ отправителя сертификата.  Но как я получу этот открытый ключ (на сервере) и для чего он нужен?  И что будет происходить на сервере.  
ВОт так я создаю на клиенте сертификат
Код

KeyPairGenerator generator = KeyPairGenerator.getInstance("DSA", "SUN");
            SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
            generator.initialize(1024, random);
            KeyPair keyPair = generator.genKeyPair();
            PrivateKey privateKey = keyPair.getPrivate();
            PublicKey publicKey = keyPair.getPublic();

            Object myObject = "sasa";
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            ObjectOutputStream oos = new ObjectOutputStream(bos);
            oos.writeObject(myObject);
            oos.flush();
            oos.close();
            byte[] data = bos.toByteArray();
            System.out.println("myObject array: " + bos.toByteArray());
            //получаем подпись
            Signature signature = Signature.getInstance("SHA1withDSA", "SUN");
            signature.initSign(privateKey);
            signature.update(data);
            byte[] signByte = signature.sign();
            X509Certificate certificate = X509Certificate.getInstance(signByte);
:

PM MAIL   Вверх
Alexandr87
Дата 18.10.2007, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: нет
Всего: 39



Цитата(can4ec @  18.10.2007,  03:01 Найти цитируемый пост)
powerOn: Не разъяснишь мне. Вот есть сертификат который подтверждает открытый ключ отправителя сертификата.  Но как я получу этот открытый ключ (на сервере) и для чего он нужен?  И что будет происходить на сервере.  


почитайте немного теории
http://en.wikipedia.org/wiki/Public_key_infrastructure
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0935 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.