从 JRE_HOME/bin 目录,运行此命令:
keytool -genkey -keystore "$JETTY_HOME/etc/rc.keystore" -alias angler -keyalg RSA
此命令需要与证书和密码相关的信息来保护密钥库和密钥库内的密钥。您必须通过 Rational® Change server URL 提供 hostname。缺省情况下,将 Rational Change 5.2 及更高版本设置为使用生成的 URL 中 hostname 的机器 IP 地址。如果生成的链接使用 192.168.10.10,那么在“姓名”提示处输入该值。 这样做可以确保将密钥颁发给该 Web 站点的 URL,这会阻止浏览器显示密钥和站点名称不匹配的错误消息。
例如:
输入密钥库密码:请选择密码
您的姓名是?
[未知]:192.168.10.10
您组织单位的名称是?
[未知]:开发
贵组织的名称是?
[未知]:Rational
您所在城市或地区的名称是?
[未知]:
您所在州/省的名称是?
[未知]:
该单位的两字母国家或地区代码是?
[未知]:
“CN=192.168.10.10;OU=开发;O=Rational;L=未知;
ST=未知;C=未知”是否正确?
[否(n)]:是(y)
请输入密钥密码
(如果与密钥库密码相同,请按回车键):选择密码
在 jetty.xml 文件中,您必须使用 SslSelectChannelConnector,而不是 SelectChannelConnector。
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector>
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="1111"/></Set>
<Set name="maxIdleTime">300000</Set>
<Set name="Acceptors"></Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Set name="lowResourcesConnections">20000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
<New id="sslContextFactory" class="org.eclipse.jetty.http.ssl.SslContextFactory">
<Set name="KeyStore"><Property name="jetty.home" default="." />/etc/keystore</Set>
<Set name="KeyStorePassword">OBF:1xxx1so1x6e1ppp1yu61x2g1z6u1op9</Set>
<Set name="KeyManagerPassword">OBF:1x2u1nnl5z1c5s7g1ggl1u9t</Set>
<Set name="TrustStore"><Property name="jetty.home" default="." />/etc/keystore</Set>
<Set name="TrustStorePassword">OBF:3uus1elo8x3e1kle1gs34x8t1z4u1lp8</Set>
</New>
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
<Arg><Ref id="sslContextFactory" /></Arg>
<Set name="Port">8443</Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">2</Set>
<Set name="AcceptQueueSize">100</Set>
</New>
</Arg>
</Call>
确保为 KeyStore、KeyStorePassword、KeyManagerPassword、TrustStore、TrustStorePassword 和 Port 属性提供正确的值。
请勿使用属性 <Property name="jetty.home" default="." />. 您必须提供 JETTY_HOME 的绝对路径。
<New id="sslContextFactory" class="org.eclipse.jetty.http.ssl.SslContextFactory">
<Set name="KeyStore"><Property name="jetty.home" default="." />/etc/keystore</Set>
<Set name="KeyStorePassword">OBF:1xxx1so1x6e1ohp1yu61x5g2z6u1op8</Set>
<Set name="KeyManagerPassword">OBF:1x4u1nnl6z1c5t7g1ffl1u9t</Set>
<Set name="TrustStore"><Property name="jetty.home" default="." />/etc/keystore</Set>
<Set name="TrustStorePassword">OBF:3uuk1wlo5x3e4kle1gs35x8t4z4r1lp8</Set>
<Set name="protocol">TLSv1.2</Set>
</New>
将 http 更改为 https,如果需要,请更改端口号。
<context-param>
<param-name>protocol</param-name>
<param-value>http</param-value>
</context-param>
<context-param>
<param-name>port</param-name>
<param-value>8600</param-value>
</context-param>
JAVA_OPTIONS="-Djetty.home=$JETTY_HOME -Djetty.log=$JETTY_LOG -Djava.protocol.handler.pkgs=com.ibm.net.ssl.www2.protocol -Xms128m -Xmx512m -server $JAVA_OPTIONS"