我正尝试在全新的MacBook Pro上设置Tomcat应用程序开发环境。我需要设置一个实现org.bouncycastle.jce.provider.BouncyCastleProvider的SSL连接器。BouncyCastleProvider无法在Mac OSX上的Tomcat 7启动时加载
的Tomcat 7点启动,但SSL连接无法进行安装和我读到这堆在Tomcat中走出:
Grave: Failed to initialize connector [Connector[HTTP/1.1-9443]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-9443]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:640)
at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: L''initialisation du gestionnaire de protocole a échoué
at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 12 more
Caused by: java.lang.ClassNotFoundException: Error loading SSL Implementation org.bouncycastle.jce.provider.BouncyCastleProvider :java.lang.ClassCastException: org.bouncycastle.jce.provider.BouncyCastleProvider cannot be cast to org.apache.tomcat.util.net.SSLImplementation
at org.apache.tomcat.util.net.SSLImplementation.getInstance(SSLImplementation.java:75)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:118)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
... 13 more
个声音告诉我,已与做“抛出java.lang.ClassNotFoundException:”。不过,我在JAVA_HOME/lib/ext中找到了包含org.bouncycastle.jce.provider.BouncyCastleProvider
类的jar。我甚至试图将它放在CATALINA_BASE/lib中,以查看这是否可能来自ClassPath错误。不 !
Tomcat的server.xml中摘录:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/Users/xavier/ssl/pchain.keystore"
keystorePass="pwd" />
<Connector port="9443" keystorePass="pwd" alias="pca"
keystoreFile="/Users/xavier/ssl/pca.keystore" keystoreType="BKS"
SSLEnabled="true" clientAuth="false" protocol="HTTP/1.1" scheme="https"
secure="true" sslProtocol="TLS" sslImplementationName="org.bouncycastle.jce.provider.BouncyCastleProvider"/>
这里是我的配置信息:
OS X版本10.8.3, JDK 1.7.0_45, Tomcat的版本7.0.42。 BouncyCastle测试包:bcprov-jdk15on -146.jar到bcprov -jdk15on-149.jar
有人已经解决了这个问题吗?
谢谢Divanov帮助我。是的,的确,提供程序在java.security文件中正确设置。 – Jobar33