Безкоштовний https сертифікат + інтеграція в Apache-TomCat

Доброго часу доби, дорогі друзі. У мене виникла необхідність налаштувати https на сервері, який використовується в онлайн-грі. Для цього мені знадобиться безкоштовна реєстрація на StartSSL і трохи часу. Інструкції на самому сайті StartSSL досить туманні. Ця публікація покликана пролити світло на деталі.

Першим ділом проходимо просту реєстрацію на StartSSL, її результатом буде створений приватний сертифікат. Під час реєстрації вказуємо свої домашні дані. Всі дані бажано заповнювати латиницею. Сертифікат слід обов'язково зберегти в безпечному місці. Для цього у вашому улюбленому браузері йдемо в настройки, де зберігаються сертифікати і експортуємо в файл ваш сертифікат.

Другий крок передбачає під собою валідацію домену, де буде використаний сертифікат https. Для цього в панелі управління на сайті StartSSL переходимо в розділ Validations Wizard і вибираємо пункт Domain Name Validation. Вибираємо на яку поштову адресу відправити перевірочний код, відправляємо, перевіряємо пошту, підтверджуємо код — домен підтверджений.

Третій великий крок. Генерація сертифіката. Для цього нам знадобиться створити файл-запит для отримання серфтификата і сховище, яке буде використано для авторизації https. Ініціалізуємо приватний ключ і створимо сховище, де PASSWORD — однаковий пароль, який ми будемо використовувати у всіх командах нижче і DOMAIN_NAME — просто ім'я вашого домену, без .ru, .org і т. д. Виконуємо в терміналі:

keytool-genkey-keysize 2048-keyalg RSA-sigalg SHA1withRSA-alias webserver-keystore ks2-keypass PASSWORD-storepass PASSWORD-dname "CN=DOMAIN_NAME.org, OU=Unknown, O=DOMAIN_NAME, L=Slovakia, ST=Unknown, C=SK"

Тепер ми можемо створити файл-запит, він же Certificate Request (CSR), результат з'явиться у файлі DOMAIN_NAME.csr:

keytool-certreq-alias webserver-file DOMAIN_NAME.csr-keystore ks2

Йдемо в розділ Certificates Wizard і там вибираємо Web Server SSL/TSL Certificate. Натискаємо Skip. Відкриваємо наш файл DOMAIN_NAME.csr і копіюємо його вміст в буфер обміну. Повертаємося на сайт StartSSL і в поле вставляємо з буфера наш Certificate Request (CSR), який буде у форматі Base64. Відправляємо. StartSSL пропонує до основного домену додати ще і піддомен. Можна вказати стандартне www або те, що Вам хочеться. Протягом 15-180 хвилин буде створено сертифікат

Четвертий крок. Ви дочекалися листи від StartSSL про те що Ваш серфтикат готовий. Йдемо до них на сайт і отримуємо його в Tool Box — Retrieve Certificate, вибираємо Ваш домен і з'явився текст у кодуванні Base64 копіюємо в буфер обміну. Створюємо на диску файл ssl.crt і вставляємо в нього наш сертифікат. Тепер у нас є все для фінального кроку. Качаємо кореневий сертифікат StartSSL:

www.startssl.com/certs/ca.crt
www.startssl.com/certs/sub.class1.server.ca.crt

Імпортуємо ці сертифікати в наше сховище:

keytool-import-alias startsslca-file ca.cer-keystore ks2-trustcacerts
keytool-import-alias startsslca1 file-sub.class1.server.ca.crt-keystore ks2-trustcacerts

Імпортуємо наш сертифікат з файлу ssl.crt:

keytool-import-alias webserver-file ssl.crt-keystore ks2

П'ятий крок. Останній. Пропишемо у файлі server.xml конектор:

<Connector port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile=“path\to\keystore\ks2" keystorePass="PASSWORD" clientAuth="false" sslProtocol="TLS"/>

І встановимо редирект:

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

Готове.

P. S. Прошу вибачення за допущені мною орфографічні помилки, а так само за можливе сумбурний гайд. Автор самоучка і, можливо, деякі речі називає своїми іменами. Всім дякую за увагу. Сподіваюся, публікація буде комусь корисною.

P. S. S. мається на Увазі, що всі файли зберігаються і створюються в одній папці, в цій же папці виконуються і команди в терміналі.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.