SSL и Tomcat с использованием Java - PullRequest
3 голосов
/ 18 мая 2010

Я новичок в SSL-соединениях, так что вот мой вопрос.

У меня есть настольная Java-программа в файле JAR. Этот JAR отправляет конфиденциальную информацию через Интернет на удаленный сервер Tomcat. Конечно, мне нужно зашифровать данные.

Если я куплю сертификат SSL, скажем, у Verisign, будут ли данные, отправленные по SSL, автоматически шифроваться?

Я имею в виду, что в моем JAR-файле мне все еще нужно будет выполнять дополнительную работу, например использовать API расширений шифрования Java для ручного шифрования моих данных через соединение SSL?

Спасибо.

Ответы [ 7 ]

3 голосов
/ 18 мая 2010

Я имею в виду в моем JAR-файле, мне все еще нужно будет выполнять дополнительную работу, например использовать API расширений шифрования Java для ручного шифрования моих данных через соединение SSL?

Шифрование будет выполнено за вас (с расширением Java Secure Socket). Просто установите соединение, используя https://. Возможно, посмотрите на HTTP-клиент для API более высокого уровня.

Кстати, сертификат идет на стороне сервера (если вы не хотите выполнять клиентскую аутентификацию, в этом случае вам также понадобится сертификат клиента).

И да, вы можете использовать самозаверяющий сертификат, но одно из преимуществ использования сертификата, подписанного хорошо известным центром сертификации (CA), таким как Verisign, Thawte и т. Д., Заключается в том, что вам не нужно добавлять его в хранилище доверия клиентской виртуальной машины (если не отключен механизм проверки).

1 голос
/ 18 мая 2010

Если ваша цель просто получить шифровальщик, вам не нужно покупать сертификат. Вы можете сделать свой собственный. Покупка сертификата просто создает цепочку проверки обратно в verisign (или кого бы то ни было), чтобы дать пользователям теплый расплывчатый взгляд на то, что вы действительно являетесь тем, кем себя говорите.

1 голос
/ 18 мая 2010

Следуйте инструкции по настройке SSL , чтобы настроить https.

0 голосов
/ 18 мая 2010

Чтобы ответить на ваш вопрос, реализации SSL автоматически шифруют данные. Вам не нужно беспокоиться об использовании дополнительных процедур шифрования.

Возможно, проще всего приобрести сертификат SSL, поскольку реализации SSL обеспечивают простую аутентификацию сертификации с использованием общих корневых сертификатов и предоставляют услугу проверки. Однако вы можете сэкономить деньги, используя самозаверяющий сертификат.

Даже при наличии самозаверяющего сертификата важно проверять подпись на сертификате сервера в настольном приложении при подключении к серверу. Это предотвратит атаки человека в середине.

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

0 голосов
/ 18 мая 2010

Если вы настроите SSL на Tomcat и отправите свои данные по HTTPS, то шифрование будет выполнено за вас. Но вам на самом деле не нужно приобретать сертификат, если вам нужно только шифрование канала данных, вы можете создать самозаверяющий сертификат. Посмотрите на этой странице http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html о том, как настроить SSL для Tomcat. Но обратите внимание, что HTTPS можно настроить , чтобы вообще не использовать шифрование (по крайней мере, в Apache httpd).

0 голосов
/ 18 мая 2010

Все данные, отправляемые по SSL, по определению зашифрованы, вам вообще не нужно беспокоиться о шифровании. Кроме того, вам не нужно иметь сертификат для этого: вы можете выдать его самостоятельно.

0 голосов
/ 18 мая 2010

SSLSocket должен выполнить большую часть работы за вас.

...