2011-12-14 2 views
0

Каков наилучший способ установить зашифрованную двунаправленную связь между сервером и несколькими клиентами?Java: зашифрованный сервер/клиент двунаправленная связь?

На сервере хранится база данных сохранения, и данные будут отправляться клиентам, а клиенты будут отправлять обратно данные. Это должно быть зашифровано для лучшей защиты от инструментов сетевого обнюхивания и т. Д.

Может ли Netty-сервер быть хорошим кандидатом для этого? Могу ли я использовать сокеты с netty и клиентскими приложениями для подключения к серверу?

спасибо.

ответ

1

Вы можете просто зашифровать сокет и отправить любой протокол, который вам нравится по кабелю. HTTPS является лишь одним из них. Например, мы внедрили SMTPS поверх Netty без каких-либо проблем.

Вам просто нужно определить протокол, написать кодировщик/декодер и добавить их в SslHandler в конвейере. Это оно.

3

Если вы имеете в виду, что протокол связи является HTTP, и вы используете стандартную HTTP-среду (HTTP-сервер, сервлеты, JSP и т. Д.), Используйте протокол HTTPS. Он гарантирует шифрование и защиту ваших данных в обоих направлениях.

+0

Что еще не существует для решения http? Я спрашиваю об этом, потому что я читал, что получить https-сертификат очень дорого. – KJW

+0

Вам не нужно использовать Центр сертификации для использования SSL. Если вы свяжете открытый ключ сервера с вашим клиентом, CA не нужны ... это означает, что вам не нужно ничего платить. – Vincent

+0

Это легкий и быстрый и безопасный способ использования HTTPS, чем рулон вашей собственной внутренней подписки, или использовать API шифрования Java самостоятельно. Вы можете сами выпускать свои собственные ключи, и даже покупка SSL-сертификата не обойдется *, * много, google для него. Голосование за этот ответ. –

Смежные вопросы