Tomcat 8上的Shibboleth IDP安装:发现错误java.lang.ClassNotFoundException:net.shibboleth.utilities.ssl.TrustAnyCertificate

时间:2015-04-30 03:22:09

标签: tomcat shibboleth

我按照此链接https://wiki.shibboleth.net/confluence/display/IDP30/ApacheTomcat8

按照步骤在tomcat 8上设置shibboleth idp

我已经成功安装了shibboleth-idp并构建了war文件。

我在tomcat启动时发现错误,它说找不到类" net.shibboleth.utilities.ssl.TrustAnyCertificate"

请在下面找到我的配置设置:

编辑文件{tomcat_home} /bin/setenv.bat

@echo off
set JAVA_HOME=C:\java\jdk1.7.0_75
set CATALINA_OPTS=-server -Xmx512M -XX:MaxPermSize=128M -Dfile.encoding=utf-8 -Djava.awt.headless=true -Dcom.sun.security.enableCRLDP=true -Didp.home=C:/shibboleth-idp-3.1.1

编辑文件{tomcat_home} /conf/server.xml

Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
  maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
  clientAuth="want" keystoreFile="C:/shibboleth-idp-3.1.1/credentials/idp-backchannel.p12"
  keystorePass="pass***" keystoreType="PKCS12"
  trustManagerClassName="net.shibboleth.utilities.ssl.TrustAnyCertificate"

但是,运行tomcat服务器后,我找不到错误类

30-Apr-2015 11:05:40.161 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-8443"]
 java.lang.ClassNotFoundException: net.shibboleth.utilities.ssl.TrustAnyCertificate
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getTrustManagers(JSSESocketFactory.java:635)
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getTrustManagers(JSSESocketFactory.java:559)
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:357)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:737)
    at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457)
    at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120)
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:960)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.core.StandardService.initInternal(StandardService.java:567)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:576)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:599)
    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:310)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)

请帮我解决这个问题,谢谢。

1 个答案:

答案 0 :(得分:1)

您在Tomcat的 lib 文件夹中缺少文件trustany-ssl-1.0.0.jar。可以从此页面https://wiki.shibboleth.net/confluence/display/IDP30/ApacheTomcat8下载 ,被称为"插件组件,支持反向通道上的要求"