OpenSSL-Zertifikat gibt 'Invalid keystore format" tomcat 8
Ich bin mit tomcat 8 und brauchen, um es zu SSL, So dass ich mit openSSL generieren selbstsigniertes Zertifikat und konfiguriert das gleiche in tomcat server.xml Datei. Aber ich bin immer die, die unten Ausnahme
INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-7443"]
16-Apr-2015 09:50:56.647 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-7443"]
java.io.IOException: Invalid keystore format
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
at java.security.KeyStore.load(KeyStore.java:1433)
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:363)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:730)
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)
Write failed: Broken pipegMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43
Es ist *nicht geben "Ungültiger Schlüssel". Es gibt 'invalid keystore format'. Nicht schlampig.
InformationsquelleAutor Krishna | 2015-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass die trace-Punkte auf ein ungültiges format auf Ihrem keystore.
Prüfen:
Sind Zertifikate in Ihrem keystore?
Wenn Sie generiert mit OpenSSL vielleicht sind Sie generieren einer pkcs12-und wenn Sie importieren und verwenden eine Anschluss auf Tomcat ohne Angabe des formats entsprechend dem Standard keyStoreType Wert, es ist gesetzt als "JKS".
https://tomcat.apache.org/tomcat-8.0-doc/config/http.html
Mithilfe von keytool:
Ich schlage vor: versuchen Sie zu erzeugen der keystore mit keytool (für mich ist es einfacher):
https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html?jn45301e6e=2
Generieren einer keystore-und self-signed Zertifikat:
Mit dem PKCS12 -
Oder wenn Sie pefer, Sie können auch eine PKCS12 (wenn es Ihr Fall) mit Tomcat:
Bearbeiten Sie die Umgebungsvariable JAVA_HOME/jre/lib/security/java.Sicherheit Datei, und ändern Sie den Standard-keystore-Typ:
Dann konfigurieren Sie den Connector mit etwas ähnlichem:
dieser Befehl generiert die keystore, mit diesem erhalten Sie eine cert.pem und key.pem und Sie sollten generieren Sie einen keystore
InformationsquelleAutor exoddus