
Quiero configurar un sitio web que utilice SSL. Utilizo Tomcat 8 y ya configuré exitosamente https con un certificado autofirmado, lo que, por supuesto, genera problemas al acceder al sitio web con un navegador común. Sin embargo, funciona bien, pero no es realmente aplicable para un sitio web público.
Entonces compré un certificado SSL de un proveedor oficial. Descargué los siguientes archivos:
RapidSSL.crt
RapidSSL.csr
RapidSSL-Intermediate.cer
Busqué en Internet cómo instalar esto correctamente pero no encontré nada que funcionara.
Mi último intento fue hacer lo siguiente:
keytool -import -trustcacerts -alias rapidSSL -file RapidSSL.crt -keystore rapidSSL.jks
Luego modifiqué conf/server.xml
alterando la entrada existente:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
keyAlias="rapidSSL"
keystoreFile="/opt/SSL-Certificates/rapidSSL.jks"
keypass="XYZ-Pass"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/x-json" />
Al iniciar mi servidor me sale la siguiente excepción:
16-Feb-2018 10:32:29.147 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-443"]
java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:780)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:225)
at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
at java.security.KeyStore.load(KeyStore.java:1445)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:451)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:355)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:608)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:548)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:360)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:742)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:458)
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:568)
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)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:778)
... 26 more
Entonces, realmente no tengo idea de qué estoy haciendo mal aquí. Cualquier ayuda sería apreciada. Gracias :)
EDITAR Gracias por las respuestas, el pase de clave es definitivamente correcto.
Respuesta1
comprobar el pase clave. Si es correcto, intente cambiar el nombre de rapidSSL.jks y vuelva a ejecutar keytool para ver si lo soluciona.