在 Eclipse 上使用 SSL 设置 Tomcat:"keystoreFile"不起作用



我正在Eclpse 上用Tomcat6+SSL设置一个测试环境

我编辑了server.xml文件(在Eclipse服务器文件夹中),并取消了对SSL连接器的注释。然后,我按照这个操作步骤制作了一个自签名证书。在我将密钥库文件保存在主目录中之前,一切都很好,但当我尝试将其放置在另一个文件夹中并设置"keystoreFile"参数时,我在启动时收到以下错误消息:

GRAVE: Failed to load keystore type JKS with path C:Documents and SettingsmyUser/.keystore due to C:Documents and SettingsmyUser.keystore (Impossibile trovare il file specificato) 
java.io.FileNotFoundException: C:Documents and SettingsmyUser.keystore (Impossibile trovare il file specificato)

Tomcat似乎没有读取我的keystoreFile参数。

这是我的server.xml文件(仅限与SSL相关的部分)

               ...
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
               ...
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="C:myPath.keystore"
           keystorePass="******"  />
               ...

更新

我将项目导出为.war文件,并将其部署在单机Tomcat上。它起作用了,所以我的问题一定是Eclipse造成的。如果有帮助的话,我将使用Eclipse Helios(Service Release 2)。

谢谢。

结语

最后,多亏了Bruno,Eclipse在部署文件方面搞砸了。清理eclipse部署文件夹后,一切正常。

keystoreFile没有任何作用,因为您使用的是APR连接器(AprLifecycleListener),它使用的参数集与JSSE连接器不同。

特别是,它不使用keystoreFile,而是使用OpenSSL风格的参数(类似于Apache Httpd的mod_ssl配置):您需要转换密钥和证书,以便它与APR连接器一起工作。

最新更新