Меню

apache tomcat https настройка windows

Настройка HTTPS (SSL/TLS) в Apache Tomcat 8

Если у вас уже есть установленный и настроенный Apache Tomcat, то вы, вероятно, захотите настроить на нём HTTPS. Все нормальные банки, почтовые сервисы и более менее приличные сайты, работающие с персональными данными, используют HTTPS. При использовании HTTPS данные, передаваемые от клиента к серверу и обратно, шифруются. HTTPS не является отдельным протоколом, так как он использует SSL (Secure Sockets Layer) и TLS (Transport Layer Security) для шифрования обычного HTTP. Для начала создадим самоподписанный сертификат.

После этого вас попросят ввести пароль для файла хранилища, фамилию, имя, название организации и прочее. В конце нужно будет ввести пароль для ключа tomcat. По умолчанию Apache Tomcat в качестве пароля использует «changeit» .

Описанная выше команда создаёт файл хранилища ключей .keystore в вашем домашнем каталоге с ключом tomcat. Имейте в виду, что подобный самоподписанный сертификат подойдёт только для тестовых и образовательных целей. На реальном сервере нужно использовать сертификат от хорошо известного центра сертификации, например VeriSign, Thawte или Let’s Encrypt (бесплатный).

Apache Tomcat на текущий момент работает только с форматами хранилищ JKS, PKCS11 или PKCS12. Формат JSK — это стандартный формат “Java Keystore”, и именно он создаётся утилитой keytool. Формат PKCS12 — это стандартный формат для интернета.

Каждая запись в хранилище ключей идентифицируется по строке alias. Многие реализации хранилищ расценивают alias-ы регистронезависимо, но существуют реализации, которые различают регистры символов. Спецификация PKCS11, например, требует, чтобы alias-ы были зависимы от регистра.

Читайте документацию на утилиту keytool в JDK, чтобы импортировать существующий сертификат в хранилище ключей JSK. OpenSSL часто добавляет читаемые комментарии перед ключом, но keytool не поддерживает это. Если ваш сертификат имеет комментарии перед данными, то удалите их перед импортом с помощью keytool.

Импортировать существующий сертификат вашего удостоверяющего центра в хранилище ключей PKCS12 с помощью OpenSSL можно так:

источник

Настройка SSL для TomCat

Пару недель назад столкнулся с проблемой — стоит TomCat на сервере(windows 2008), ставлен не мной, мало того, я даже не видел как его ставили. Нужно сделать авторизацию по SSL протоколу. Раньше никогда не настраивал веб-сервера ни на винде ни на никсах, а решать нужно в кратчайшие сроки — 3 дня. Решил спросить у гугла с яндексом и нашел куче статей как сделать SSL шифрование канала и одну малопонятную о «двухфазной авторизации». Мучался все 3 дня и на исходе срока получил решение (как всегда светлая идея пришла с великого бодуна). Теперь подробнее:
как устанавливать TomCat описывать не буду, т.к. таких статей валом.
Для начала создаём хранилище (keystore) с ключом:
Наберем в коммандной строке следующий код:

Читайте также:  настройка nvr and dvr

Здесь:
— tomcat — имя псевдонима
— keyalg — алгоритм формирования ключа
— keystore — имя хранилища
— validity – Срок действия сертификата
— keysize – Размер ключа
В результате на консоле увидите следующее:
Enter keystore password: mystorepassword
What is your first and last name?
[Unknown]: firstname lastname
What is the name of your organizational unit?
[Unknown]: organizationalunit
What is the name of your organization?
[Unknown]: organization
What is the name of your City or Locality?
[Unknown]: city
What is the name of your State or Province?
[Unknown]: state
What is the two-letter country code for this unit?
[Unknown]: ru
Is CN=firstname lastname, OU=organizationalunit, O=organization, L=city, ST=state, C=ru correct?
[no]: yes
Enter key password for (RETURN if same as keystore password):
То что выделено жирным — вводиться вручную, запросы появляются построчно.
Обратите внимание на то, что для ключа пароль не был введён (в этом случае используется пароль хранилища).

Конфигурируем SSL-коннектор (фрагмент server.xml):
Находим запись

Находим строку:
— по умолчанию 27 строка, закомментируем её.
Так же, если у вас есть вот такая строка:

тоже её комментируем.
Теперь кидаем файл mystore из папки с явой в корень томката, если кинуть не в корень то нужно изменить строку на
Строка — «mystorepassword», это ваш пароль указанный при создании хранилища с ключем.
Запускаем Tomcat, SSL- шифрование уже работает.

«Двухфазный» SSL — авторизация на сайте по сертификату

Механизм проверки очень прост: необходимо, чтобы у сервера нашелся ключ, subject distinguished name которого будет совпадать с issuer distinguished name проверяемого ключа (при этом клиент не обязательно должен обладать таким ключом, т. к. можно в диалоговом режиме подтвердить доверие). Когда используются ключи, выданные центром сертификации, у нас уже есть публичный ключ центра и свой, подписанный этим центром. В случае с самоподписанным ключом (именно такие ключи по создаёт keytool) необходимо, чтобы публичный ключ используемый клиентом, был в truststore сервера.

Читайте также:  настройка фифа 15 на слабом компе

Ключ сервера мы генерировали выше, теперь сделаем ключ клиента
Наберем в консоли следующую команду

на консоли появится следующее:
Enter keystore password: myclientstorepassword
What is your first and last name?
[Unknown]: client
What is the name of your organizational unit?
[Unknown]: orgunit
What is the name of your organization?
[Unknown]: org
What is the name of your City or Locality?
[Unknown]: locality
What is the name of your State or Province?
[Unknown]: state
What is the two-letter country code for this unit?
[Unknown]: RU
Is CN=client, OU=orgunit, O=org, L=locality, ST=state, C=RU correct?
[no]: yes
Enter key password for (RETURN if same as keystore password):

все по аналогии с генерацией ключа сервера, появился только параметр . Этот параметр указывает тип хранилища поддерживаемое нашим браузером, если не знаете точно какой тип у вас — не меняйте, этот подходит для всех (проверено электроникой. )
— здесь это уже хранилище сертификатов клиентов.
Следующий этап — помещаем публичный ключ в доверенное хранилище( truststore) сервера. Для этого экспортируем его из полученного хранилища(myclientstore) в файл clientcert:
Введем в консоли следующую комманду:

Enter keystore password: myclientstorepassword
Certificate stored in file » clientcert «

Здесь вопрос «Enter keystore password: » просит не новый пароль, а тот, который мы ввели при формировании «myclientstore»
Тут думаю все уже понятно, т.к. всепараметры рассмотрены выше. А результат — файл clientcert.
Полученный файл импортируем в новое хранилище для сервера (это и будет truststore):
Введем в консоли комманду

Enter keystore password: mytruststorepassword

если ответили правильно то увидим

Owner: CN=client, OU=orgunit, O=org, L=locality, ST=state, C=RU
Issuer: CN=client, OU=orgunit, O=org, L=locality, ST=state, C=RU
Serial number: 462a2361
Valid from: Sat Apr 21 18:44:49 MSD 2007 until: Fri Jul 20 18:44:49 MSD 2007
Certificate fingerprints:
MD5: 78:55:83:13:3A:4F:DB:CA:1A:60:5E:A4:87:1D:EC:93
SHA1: 7A:A7:7C:C6:71:2B:82:74:9C:4F:C7:3D:FA:14:AD:2A:E5:BF:39:2F

Trust this certificate? [no]: yes

Certificate was added to keystore

Здесь вопрос «Enter keystore password: » просит не новый пароль, а тот, который мы ввели при формировании «mytruststore»
Ну вот, все сертификаты сформированы и помещены в доверенные хранилища.
Теперь надо сказать серверу что их нужно использовать, дополняем конфигурацию сервера. Теперь конфигурация SSL-коннектора выглядит так:

Пути до mytruststore,mystore как и было уже сказано можно менять, не забудьте заодно поменять и значения паролей 🙂

Если в trustedstore нужно добавить сторонний сертификат используйте следующий код:

Читайте также:  котел тополь м настройка

Если в trustedstore нужно удалить сертификат используйте следующий код:

Копируем файлы mytruststore и mystore в корень томката или в папки указаные в параметрах коннектора (keystoreFile и truststoreFile) ели вы их изменили.
Импортируем myclientstore в используемый браузер в сертификаты. Т.е. на примере IE:
Сервис-> Свойства обозревателя->Содержание->Сертификаты->Импорт->Далее->Обзор->Все файлы->Находим папку с явой (по умолчанию там сохраняются новые генерированные файлы), выбираем наш myclientstore, -> Далее-> вводим пароль который мы задавали при генерации myclientstore и все!
Перезапускаем сервер.
Сейчас если набрать https :// localhost:8443 — сервер потребует сертификат, но если набрать
http ://localhost:8080 откроется та же страница, что и в первом случае, но без всякой защиты. Для того чтобы все запросы перенаправлялись с http на https в web.xml добавляем
до закрытия web-app:

Перезапускаем сервер, вуаля – все работает!
Надеюсь эта статья будет более понятна чем остальные, т.к. тут я собрал все крупицы знаний найденных в интернете и опыт полученный мною в момент жесткого занятия любовью с SSL и TomCat.

источник

Apache tomcat https настройка windows

Установка и настройка Apache Tomcat в Windows

TomCat — контейнер сервлетов. Он может быть использован для приложений, написанных с помощью технологий Servlets, JSP и JSF, правда он не поддерживает другие Java EE технологии, такие как EJBs или JPA.

  • Загрузка Дистрибутивов
  • Настройка WebServer’a Apache Tomcat

————————————————————-

1) заходим на сайт java.sun.com или сразу на сайт oracle.com

2) Выбираем JDK последней стабильной версии

3) Выбираем платформу Windows, кликаем загрузить

4) Заходим на сайт tomcat.apache.org
Кликаем на download и выбираем последнюю стабильную версию сервера

Получены дистрибутивы: apache-tomcat-6.0.26-windows-x86.zip и jdk-6u18-windows-i586.exe

Настройка WebServer’a Apache Tomcat

1) Выполнили установку по умолчанию jdk-6u18-windows-i586.exe

2) Настраиваем переменные окружения.

4) В нижней части окна нажать на кнопку New (окно system variables)

5)
Variable Name: JAVA_HOME
Variable Value: C:\Program Files\Java\jdk1.6.0_18

6) Разархивируем файл apache-tomcat-6.0.26-windows-x86.zip в каталог C:\Program Files

Переходим в C:\Program Files\apache-tomcat\bin\

Выполняем команду statrup

8) В строке адреса набираем http://localhost:8080/ (таким образом проверяем, работает ли наш WebServer)

9) Устанавливаем 80 порт вместо 8080

Для этого в файле C:\Program Files\apache-tomcat\conf\server.xml

Меняем Connector port с 8080 на 80 и сохраняем файл.

10) Создаем файл StartApacheTomcat.bat

11) Запускаем файл. Ожидаем, что сервер запустится.

источник

Добавить комментарий

Adblock
detector