Настройка и использование https

Материал из START-IP
Перейти к навигации Перейти к поиску

Настройка Tomcat

Создаём хранилище (keystore) с ключом

В домашней директории JDK выполняем в коммандной строке команду:

keytool -genkey -alias tomcat -keyalg RSA -keystore mystore -validity 999 -keysize 512

Здесь:

— 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):


Выделенное жирным шрифтом — вводиться вручную, запросы появляются построчно.

Обратите внимание на то, что для ключа пароль не был введён (в этом случае используется пароль хранилища).

Переносим получившийся файл mystore в $TOMCAT_HOME/conf

Конфигурируем SSL-коннектор (фрагмент server.xml)

Находим запись

<!-- Define a SSL HTTP/1.1 Connector on port 443
         This connector uses the JSSE configuration, when using APR, the 
         connector should be using the OpenSSL style configuration
         described in the APR documentation -->

и ниже нее раскоментируем Connector и вносим keystoreFile и до.

<Connector port="8443" SSLEnabled="true" maxHttpHeaderSize="8192" 
        maxThreads="150" minSpareThreads="25" maxSpareThreads="200"
        enableLookups="false" disableUploadTimeout="true"         
        acceptCount="100" scheme="https" secure="true"
         clientAuth="false" sslProtocol="TLS"
         keystoreFile=" conf/mystore" keystorePass="mystorepassword" keystoreType="JKS"
         keyAlias="tomcat"/>

Находим записи и комментируем

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />


keystoreFile=" conf/mystore" - путь к хранилищу ключей

keystorePass="mystorepassword" — пароль указанный при создании хранилища с ключем. Перезапускаем Tomcat, SSL- шифрование работает.


Настройка JInitiator для работы с вашим ключем

К сожалению у JInitiator отсутствует возможность отключить проверку ключей, плюс к этому в версиях ниже 1.3.31 отсутствует корректный
корневой сертификат VerySign (Oracle Bug 8717513, How to Implement an SSL CA Root Certificate in JInitiator (ID 372800.1)),
что означает что даже при наличии официально подписанного сертификата от VerySign на каждом
рабочем месте придется провести работы описанные ниже.

Импорт сертификата в IE


После настройки своего ключа в tomcat необходимо зайти на сервер формс по протоколу https

  https://you.forms.server/

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

Export сертификата в Файл

В Internet Explorer выберите: меню Сервис - Свойства обозревателя - Вкладка Содержание - Кнопка Сертификаты.
Найдите ваш сертификат в одной из вкладок
Экспортируйте сертификат:

- Нажмите на кнопку Экспорт
- Выберите опцию Base-64 кодирование X.509 (.CER) и нажмите далее
- Введи имя файла например d:\file и нажмите далее
- Нажмите кнопку завершить.

У вас появится файл d:\file.cer .

Импорт сертификата в Jinitiator

Далее необходимо скопировать информацию сертификата в Jinitiator:

Найдите файл certdb.txt в домашней директории JInitiator - C:\Program Files\oracle\Jinitiator <version>\lib\security.
Создайте резервную копию файла certdb.txt с именем orig_certdb.txt
Откройте файл certdb.txt в редакторе - например Wordpad
Откройте файл d:\file.cer in Wordpad. Скопируйте содержимое файла file.cer в буффер обмена и добавьте его в certdb.txt из каталога C:\Program_Files\Oracle\JInitiator <version>\lib\security
Сохраните файл certdb.txt.


Изменения в Forms (formsweb.cfg)

Внести изменения в файл C:\FormsWeb\conf\formsweb.cfg для вашей конфигурации:
[StartIP]
webformsTitle=STARTIP
userid=sip_w/sip_w@SIP_TNS
envFile=startip.env
serverURL=/startip/servlet/f60lsnr?ifip=100.100.100.100

Т.е убираем всякое упоминание о протоколе сервере и номере порта
http://<tomcat_host>:<tomcat_port>

Запуск операторских форм через https

Запускаем формы заменив протокол http на https

 https://tomcat_host:tomcat_port/startip/servlet/f60?config=StartIP