2016-11-12 75 views
5

Tomcat 9.0 sunucuma SSL olanakları eklemek istiyorum. Tomcat'in talimat söylediğim gibi, keytool ile bir anahtar oluşturduktan ve ben aşağıdaki hatayı alıyorum sunucuyu başlatmak çalışıyorum zaman server.xml dosyasıTomcat - SSL bağlayıcısıyla başlatırken boş gösterici istisnası

<Connector 
     protocol="org.apache.coyote.http11.Http11NioProtocol" 
     port="8443" maxThreads="200" 
     scheme="https" secure="true" SSLEnabled="true" 
     keystoreFile="C:\Moje_programy\spring\apache-tomcat-9.0.0.M11\klucz" keystorePass="samplepassword" 
     clientAuth="false" sslProtocol="TLS"/> 

bir aşağıdaki konektörü eklendi (ve SSL bağlantı noktasıdır) çalışmıyor: bazı böcek olup olmadığını bilmiyorum, yoksa yanlış bir şey yaptı

12-Nov-2016 13:06:18.187 WARNING [main] org.apache.tomcat.util.net.openssl.OpenSSLContext.init Error initializ ing SSL context java.lang.NullPointerException 
     at org.apache.tomcat.util.net.openssl.OpenSSLContext.init(OpenSSLContext.java:276) 
     at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:100) 
     at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:80) 
     at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:245) 
     at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:866) 
     at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:575) 
     at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:65) 
     at org.apache.catalina.connector.Connector.initInternal(Connector.java:944) 
     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:105) 
     at org.apache.catalina.core.StandardService.initInternal(StandardService.java:549) 
     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:105) 
     at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:873) 
     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:105) 
     at org.apache.catalina.startup.Catalina.load(Catalina.java:606) 
     at org.apache.catalina.startup.Catalina.load(Catalina.java:629) 
     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:498) 
     at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:311) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:494) 

.. çözümü, ancak anahtar oluşturma sırasında, takma özelliği ayarlanmış olmalıdır şaşırtıcıdır

cevap

5

"erkek kedi "

c:\Program Files\Java\jdk1.8.0_112\bin>keytool -genkey -alias tomcat -keyalg RSA -keystore C:\Moje_programy\spring\apache-tomcat-9.0.0.M11\klucz 
+0

gibi yöntemlerimi kullanabilirsiniz. Bu çalışır :) – maamaa

+0

Webapp Runner kullanarak benzer bir sorun '-Djavax.net.ssl.keyStore =' ve '-Djavax.net.ssl ​​ek olarak' -Djavax.net.ssl.keyStoreAlias ​​= mydomain.com' eklemek zorunda kaldı .keyStorePassword = '. (Alias, .jks'yi açarken Portecle'da görünen ilk şey) –

1

Ben de Cevabınız yardımıyla başka bir yanıt bulundu:

benim örnek vardır. Özel sertifika takma adınızı ve

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" 
       maxThreads="150" SSLEnabled="true"> 
     <SSLHostConfig> 
      <Certificate certificateKeystoreFile="<path to keystore>\myks.jks" 
      certificateKeystorePassword="abc123" 
      certificateKeyAlias="giganet.com" 
         type="RSA" /> 
     </SSLHostConfig> 
    </Connector>