Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ssl证书设置后tomcat启动错误_Java_Ssl Certificate_Tomcat8_Pfx - Fatal编程技术网

Java ssl证书设置后tomcat启动错误

Java ssl证书设置后tomcat启动错误,java,ssl-certificate,tomcat8,pfx,Java,Ssl Certificate,Tomcat8,Pfx,我在启动服务器时遇到以下错误 30-Jan-2018 07:04:54.821 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8443"] **30-Jan-2018 07:04:55.157 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point

我在启动服务器时遇到以下错误

30-Jan-2018 07:04:54.821 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8443"]
**30-Jan-2018 07:04:55.157 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-8443"]
 java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.**
        at sun.security.util.DerInputStream.getLength(DerInputStream.java:561)
        at sun.security.util.DerValue.init(DerValue.java:365)
        at sun.security.util.DerValue.<init>(DerValue.java:320)
        at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1914)
        at java.security.KeyStore.load(KeyStore.java:1445)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:424)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:323)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:581)
        at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:521)
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:357)
        at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:732)
        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:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)

**30-Jan-2018 07:04:55.159 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-8443]]**
 org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8443]]
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
        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)
30-Jan-2018 07:04:54.821 INFO[main]org.apache.coyote.AbstractProtocol.init初始化ProtocolHandler[“http-nio-8443”]
**2018年1月30日07:04:55.157严重[main]org.apache.coyote.AbstractProtocol.init未能初始化与ProtocolHandler关联的端点[“http-nio-8443”]
java.io.IOException:DerInputStream.getLength():lengthTag=109,太大**
位于sun.security.util.DerInputStream.getLength(DerInputStream.java:561)
位于sun.security.util.DerValue.init(DerValue.java:365)
位于sun.security.util.DerValue。(DerValue.java:320)
位于sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1914)
加载(KeyStore.java:1445)
位于org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:424)
位于org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:323)
位于org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManager(JSSESocketFactory.java:581)
位于org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManager(JSSESocketFactory.java:521)
位于org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:357)
位于org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:732)
位于org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:457)
位于org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:120)
位于org.apache.catalina.connector.connector.initInternal(connector.java:960)
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
位于org.apache.catalina.core.StandardService.initInternal(StandardService.java:567)
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
位于org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851)
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
位于org.apache.catalina.startup.catalina.load(catalina.java:576)
位于org.apache.catalina.startup.catalina.load(catalina.java:599)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:310)
位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:484)
**2018年1月30日07:04:55.159严重[main]org.apache.catalina.core.StandardService.initInternal初始化连接器失败[connector[HTTP/1.1-8443]]**
org.apache.catalina.LifecycleeException:未能初始化组件[Connector[HTTP/1.1-8443]]
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
位于org.apache.catalina.core.StandardService.initInternal(StandardService.java:567)
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
位于org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:851)
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)

任何人都知道。我已经在server.xml中定义了连接器,但对ssl证书不太确定。我有一张.pfx证书。然后,我创建了一个密钥库,导入了证书,然后配置了连接器。然后,我在server.xml中使用了这个密钥库。对于pfx文件,无需创建密钥库,因为您可以直接在连接器中使用pfx文件和密码

 <Connector server="Application Server" port="8443" protocol="$PROTOCOL"
           maxThreads="100" SSLEnabled="true" scheme="https" secure="true"
           keystoreFile="${PFX_FILE}" keystorePass="${PFX_PWD}"
           keystoreType="PKCS12" clientAuth="false" sslProtocol="TLS" connectionTimeout="80000"/>

然后我创建了一个密钥库,导入了证书,然后配置了连接器


还不够。您还需要导入私钥。或者直接将PFX用作密钥库。

也许您需要JRE中的无限安全jar: