Я попытался установить SSL на tomcat 9 через порт 8443. Однако я не знаю, поддерживает ли tomcat SSL в формате pem или crt.
Я внес изменения в server.xml, но при запуске tomcat я получаю следующую ошибку в журналах catelina.out.
Ниже приведена моя конфигурация server.xma.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeyFile="conf/privkey.key"
certificateFile="conf/fullchain.crt"
type="RSA" />
</SSLHostConfig>
</Connector>
Журналы ошибок Tomcat
org.apache.coyote.AbstractProtocol.init Инициализация обработчика протокола ["https-openssl-nio-8443"]
17 ноября 2021 г. 14:58:19.826 СЕРЬЕЗНЫЙ [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Не удалось инициализировать компонент [Connector [HTTP/1.1-8443]]
org.apache.catalina.LifecycleException: ошибка инициализации обработчика протокола
в org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
в org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
в org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
в org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
на org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1059)
в org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
на org.apache.catalina.startup.Catalina.load(Catalina.java:584)
на org.apache.catalina.startup.Catalina.load(Catalina.java:607)
в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
в java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
в java.base/java.lang.reflect.Method.invoke(Method.java:566)
на org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:304)
на org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
Вызвано: java.lang.IllegalArgumentException
на org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:99)
на org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71)
на org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:218)
на org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1124)
в org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1137)
в org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:574)
на org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:74)
в org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
... еще 13
Вызвано: java.lang.NullPointerException
в org.apache.tomcat.util.net.jsse.PEMFile.<init>(PEMFile.java:101)
в org.apache.tomcat.util.net.jsse.PEMFile.<init>(PEMFile.java:74)
на org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:303)
на org.apache.tomcat.util.net.openssl.OpenSSLUtil.getKeyManagers(OpenSSLUtil.java:98)
на org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:247)
на org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java: