Як створити самоподпісанний сертифікат, використовуючи java keytool - новини ssl технологій, ssl

Забезпечення безпеки Java-додатків за допомогою SSL сертифікату може може мати вкрай важливе значення. На щастя, це (зазвичай) досить просто зробити за допомогою Java Keytool. У більшості ситуацій необхідно придбати довірений сертифікат одного з визнаних центрів сертифікації, але є багато випадків, коли ви можете створити і використовувати самоподпісанний сертифікат абсолютно безкоштовно.

Коли можна використовувати самоподпісанний сертифікат Keytool

SSL сертифікат виконує дві основні мети: поширення відкритих ключів та перевірку справжності сервера, так що користувачі знають, що вони не віддають інформацію непотрібного сервера. Сертифікат може правильно перевірити справжність сервера, тільки коли він підписаний довіреною третьої сторони. Самоподпісанного є сертифікат, який підписали ви самі, а не довірений центр сертифікації. Так як будь-який зловмисник може створити самоподпісанний сертифікат і запустити атаку «людина в середині», користувач не знає, відправляє він свою конфіденційну інформацію на потрібний сервер або сервер нападника. Через це, вам практично ніколи не слід використовувати самоподпісанний сертифікат на загальнодоступному сервері Java, який служить для зв'язку відвідувачів з вашим сайтом. Однак, самоподпісанного сертифікати мають своє місце:

  • Самоподпісанного сертифікати можуть бути використані на сервері розробки IIS. Нема необхідності витрачати додаткові гроші на покупку довіреної сертифікату, коли ви тільки розробляєте і тестируете додатки.
  • Самоподпісанного сертифікати можуть бути використані в інтрамережі. Коли клієнти повинні тільки пройти через локальну интрасеть, щоб дістатися до сервера, практично немає шансів на атаку «людина в середині».
  • Самоподпісанного сертифікати можуть бути використані на особистих сайтах з малою кількістю відвідувачів. Якщо у вас є невеликий персональний сайт, через який проходить нечутлива інформація, існує дуже мало стимулів для кого-то атакувати з'єднання.

Просто майте на увазі, що відвідувачі будуть бачити попередження в своїх браузерах (як на зображенні нижче) при підключенні до сервера, який використовує самоподпісанний сертифікат, поки він не буде постійно зберігатися в сховищі сертифікатів.

Як створити самоподпісанний сертифікат, використовуючи java keytool - новини ssl технологій, ssl

Створіть самоподпісанний сертифікат використовуючи Java Keytool

Тепер ви знаєте, коли використовувати самоподпісанний сертифікат Keytool, давайте створимо його за допомогою простої Java Keytool команди:

1. Відкрийте командний консоль на будь-якій операційній системі, яку ви використовуєте, і перейдіть в каталог, де знаходиться keytool.exe (зазвичай там, де знаходиться JRE, наприклад C: \ Program Files \ Java \ jre6 \ Bin на машинах Windows).

2. Виконайте наступну команду (де придатністю є кількість днів до закінчення сертифіката):
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048

3. Заповніть запит інформацією про організацію. Коли він запитує ваше ім'я і прізвище, введіть доменне ім'я сервера, на який користувачі будуть входити, щоб зв'язатися з вашим додатком (наприклад, www.google.com)

Як створити самоподпісанний сертифікат, використовуючи java keytool - новини ssl технологій, ssl

Це створить keystore.jks файл, який містить ключ і ваш самоподпісанний сертифікат. Тепер потрібно просто налаштувати Java програма для використання .jks файлу.