Java ee розробка web-додатки

Java ee розробка web-додатки
JAVA EE: Розробка web-додатки. SSL. Keytool. HTTPS.

SSL і TLS це криптографічні протоколи забезпечують встановлення безпечного / зашифрованого з'єднання між клієнтом і сервером. Для передачі повідомлень використовується асиметричні алгоритми з відкритим ключем.







Дивлячись на наш додаток, явно кидається очі необхідність захисту приватної зони, саме до неї ми і настроєм в кінці статті захищене з'єднання.

Для реалізації прикладу, Вам може знадобитися знімок минулого уроку, забрати можна звідси.

Створення SSL сертифікату. Користування програмою keytool.

Рішення даного завдання має наступні етапи:

  1. Генерація приватних ключів.
  2. Створення файлу запиту сертифікації (.csr)
  3. Відсилання файлу в сервіс сертифікації.
  4. Отримання і імпорт підписаного сертифіката.
  5. Налаштування сервера.

У даній статті буде описуватися використання утиліти під Ubuntu 12.04.

  1. Перейдіть в папку конфігурації домену Glassfish (

Ми заверніші перший етап нашої задачі. Тепер необхідно створити файл запит сертифікації командою:

Саме цей запит нам потрібно буде відправити в цент сертифікації. А перейдемо на сайт COMODO і спробуємо підписати наш сертифікат.

Java ee розробка web-додатки

У COMODO Free SSL сертифікат можна отримати на 90 днів. Прямо так атракціон небаченої щедрості. Тріал сертифікати надають майже всі центри сертифікації, у кожного свій термін (у thawte 20 днів). При бажанні з використанням тільки тріал сертифікатів від різних центрів, можна протриматися цілий рік не роздаровуючи по 200-300 $ за підпис сертифіката.

На першому кроці від Вас буде потрібно ввести ваш код запиту і вибрати сервер який Ви використовуєте. Для нас це Java Web Server.

Так само можна прибрати галочки зі всіляких підписок.

Java ee розробка web-додатки

На подальших кроках від Вас попросять деякі особисті дані та дані організації.

Далі, якщо ви вказали в якості перевірки домену - лист на одних з наданих ящиків, то Вам прийде на пошту код валідації. Його потрібно буде ввести в наданій посиланням.







Java ee розробка web-додатки

У разі успіху, на поштову скриньку який Ви вказали в даних про Вас, прийде лист з архівом в якому буде аж 5 сертифікатів.

Root CA Certificate - AddTrustExternalCARoot.crt
Intermediate CA Certificate - UTNAddTrustSGCCA.crt
Intermediate CA Certificate - ComodoUTNSGCCA.crt
Intermediate CA Certificate - EssentialSSLCA_2.crt
Your Free SSL Certificate - www_youdomain_ru.crt

Всі 5 сертифікатів нам потрібно буде імпортувати в наше сховище.

Скопіюйте всі сертифікати в папку конфігурації нашого домену.

При імпорті сертифікатів важливо дотримуватися чергу. Для того що б не помилитися в ній, можна глянути FAQ на сторінці COMODO.

Я його вже глянув і тому швидко проведу Вас з імпорту. Послідовно виконайте наступні команди:

Готово! Наш новенький, завірений нотаріусом підписаний сертифікат імпортовано в сховище і готовий пропонувати всім свій публічний ключ для установки захищеного з'єднання.

Налаштування сервера Glassfish на використання нового сертифікату

Після того як наш новий сертифікат був успішно імпортовано, нам необхідно перейти в консоль адміністрування сервера (localhost: 4848).

В консолі адміністрування пройдіть по наступному шляху дерева налаштувань: Configuration-> Network Config-> Network Listeners.

Тут представлені наявні слухачі мережі. Слухач admin-listener. як зрозуміло з назви, відповідає за консоль адміністрування. Слухач http-listener-1 відповідає за простій, що не зашифровані, потік мережі, відповідно http-listener-2 це захищені потік мережі.

Java ee розробка web-додатки

Безумовно, Ви можете самі створювати нові слухачі, призначати їм порти, потоки та інші настройки. В даному прикладі, ми скористаємося наявними слухачем http-listener-2 для встановлення захищеного з'єднання на порту 8181. Виберіть цей слухач.

Java ee розробка web-додатки

На основній вкладці міститься інформація про те чи включений слухач, чи здійснюється захист з'єднання, який порт слухається а так само який потік використовується. Тут нам лише потрібно переконатися що включена опція Security. Дотримуйтесь на вкладку SSL.

Тут у нас теж не багато роботи:

Java ee розробка web-додатки

В обов'язковому порядку необхідно перезапустити сервер.

Налаштування private зони сайту на захищене з'єднання

Для цього нам потрібно додати всі один рядок!

Відкрийте наш private-controller сервлет. Замініть анотацію @ServletSecurity на наступну:

По суті ми додали ще одну опцію, говоряще що необхідно використовувати захищений транспортний протокол.

Можете пройти в нашу private зону сайту і переконатися що тепер він використовує протокол https.

Сьогодні ми познайомилися з ще одним методом для створення безпечного додатки JavaEE. Були пройдені всі етапи, від генерації приватних ключів, до імпорту підписаних сертифікатів. Ми навчилися налаштовувати наш веб-сервер на роботу з використанням нових сертифікатів, а так же вказали в нашому веб додаток область в якій повинно використовуватися захищене з'єднання.







Схожі статті