如何在iSeries上使用SSL设置Tomcat?

OS / 400是V5R4,系统上安装了Java 1.6,我们使用的是Tomcat 5.5,但是我们很难让Tomcat使用HTTPS工作。

我们创build了一个自签名证书,并取消了server.xml文件中的重要部分的注释,将参数更改为指向证书(我认为这需要位于/ QOpenSys之下)。 HTTP的作品,但HTTPS不,所以有点错了,最有可能与server.xmlconfiguration。

经过多番谷歌search,这里是我们发现的:

首先,确保您的JAVA_HOME环境variables已设置:

WRKENVVAR LEVEL(*SYS) WRKENVVAR LEVEL(*JOB) 

如果未设置JAVA_HOME,请添加一个指向您的Javapath的环境variables。 在我的情况下:

 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.crtreplace成你想要的证书,按照提示进行)

使用WRKLNK,导航到Tomcat安装目录的conf文件夹。 编辑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,导航到Tomcat安装目录的bin文件夹。 启动Tomcat:

 ./startup.sh 

打开浏览器并尝试一下:

 https://1.1.1.1:8443/ 

如果您使用自签名证书,则会收到警告。

如果一切按计划进行,请返回到server.xml并禁用http访问(如果您想限制对https的访问)。