OS / 400 - это версия V5R4, в системе установлена Java 1.6, и мы используем Tomcat 5.5, но нам трудно заставить Tomcat работать с HTTPS.
Мы создали самозаверяющий сертификат и раскомментировали основные разделы файла server.xml, изменив параметры так, чтобы они указывали на сертификат (который, я полагаю, должен находиться в / QOpenSys). HTTP работает, а HTTPS - нет, поэтому что-то не так, скорее всего, с конфигурацией server.xml.
После долгого поиска в Google мы обнаружили следующее:
Во-первых, убедитесь, что ваша переменная окружения JAVA_HOME установлена:
WRKENVVAR LEVEL(*SYS)
WRKENVVAR LEVEL(*JOB)
Если JAVA_HOME не установлен, добавьте переменную окружения, указывающую на ваш путь Java. В моем случае:
JAVA_HOME = '/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit'
Если у вас уже есть собственный сертификат, используйте его; в противном случае сгенерируйте самозаверяющий сертификат, например:
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /QOpenSys/usr/local/ssl/test.crt
(Замените test.crt тем, что вы хотите назвать своим сертификатом, следуйте подсказкам)
Используя WRKLNK, перейдите в папку conf каталога установки Tomcat. Отредактируйте server.xml, раскомментируйте и измените следующий раздел:
<Connector port="8443" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" keystoreFile="/QOpenSys/usr/local/ssl/test.crt"
algorithm="IbmX509" />
Боковое примечание: нам не хватало тега algorithm = "IbmX509", поэтому наши предыдущие попытки потерпели неудачу.
Используя QSH, перейдите в папку bin вашего установочного каталога Tomcat. Запустите Tomcat:
./startup.sh
Откройте браузер и попробуйте:
https://1.1.1.1:8443/
Вы получите предупреждение, если используете самозаверяющий сертификат.
Если все работает по плану, вернитесь к server.xml и отключите доступ по протоколу http (если вы хотите ограничить доступ по протоколу https).