0

我正在使用 tomcat 5.5.30 并为 SSL.Functionality 配置相同的配置,但我在 tomcat 启动时遇到异常。

java.lang.ClassNotFoundException: Error loading SSL Implementation org.apache.tomcat.util.net.puretls.PureTLSImplementation :java.lang.ClassNotFoundException: class org.apache.tomcat.util.net.puretls.PureTLSImplementation not found.
    at org.apache.tomcat.util.net.SSLImplementation.getInstance(SSLImplementation.java:79)
    at org.apache.tomcat.util.net.SSLImplementation.getInstance(SSLImplementation.java:48)
    at org.apache.tomcat.util.net.SSLImplementation.getInstance(SSLImplementation.java:64)
    at org.apache.coyote.http11.Http11BaseProtocol.checkSocketFactory(Http11BaseProtocol.java:730)
    at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:121)
    at org.apache.catalina.connector.Connector.initialize(Connector.java:1002)

java.lang.ClassNotFoundException:找不到类 org.apache.tomcat.util.net.jsse.JSSE15Factory。

我已经在tomcat-util.jar中检查了这些类,但这些类不存在。我确定我使用的是正确且兼容的 jar,这些 jar 在 tomcat 5.5.30 捆绑包中可用。

知道为什么我会遇到这个问题。这是tomcat中的错误吗?

请帮助。在此先感谢。

4

1 回答 1

1

如果您启用了调试级别日志记录,您应该只看到这些消息。

第一条消息表明可选的 PureTLS SSL 实现不可用。这种集成的源代码仍然在源代码分发中,但 Tomcat 用户社区对它的兴趣太小,以至于它已经有一段时间没有以二进制文件的形式分发了。

第二条消息表明 Java 5 JSSE 工厂不可用。这是因为二进制发行版是使用 Java 1.4 构建的。您可以使用 Java 1.5 从源代码构建来获得这个工厂,尽管我非常怀疑您会注意到任何区别。

因此,Tomcat 将使用 Java 1.4 JSSE 工厂,这就是 SSL 仍然有效的原因。

更值得关注的应该是 5.5.30 [1] 中存在的已知安全漏洞,以及 Tomcat 5.5.x 将在不到 3 个月 [2] 内达到生命周期结束这一事实。现在是升级到 Tomcat 7 的好时机。

[1] http://tomcat.apache.org/security-5.html#Fixed_in_Apache_Tomcat_5.5.30

[2] http://tomcat.apache.org/tomcat-55-eol.html

于 2012-07-12T07:27:39.010 回答