Weird exception

222 views
Skip to first unread message

hayth...@gmail.com

unread,
Jul 11, 2018, 3:54:28 AM7/11/18
to OpenVidu
Hi All,
   I am new to OpenVidu, Can someone help me find out why I am getting this exception? if I run it without any signing at all the server loads correctly.
here is how I run it.

sudo java -jar -Dopenvidu.secret=sec -Dserversl.key-store=/cert/localhost/p12keystore.p12 -Dserver.ssl.key-store-password=sec -Dserver.ssl.key-alias=localhost openvidu-server-2.2.0.jar -Dopenvidu.publicurl=https://10.0.2.15:4443/

both my KMS and OpenVidu on the same machine.

Thank you

INFO] 2018-07-11 00:46:17,378 [main] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket (connectNativeClient) - [KurentoClient]  Creating new NioEventLoopGroup
[INFO] 2018-07-11 00:46:17,380 [oopGroup-3-1] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket (initChannel) - [KurentoClient]  Inititating new Netty channel. Will create new handler too!
[WARN] 2018-07-11 00:46:17,382 [main] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket (closeChannel) - [KurentoClient]  Trying to close a JsonRpcClientNettyWebSocket with channel == null
[WARN] 2018-07-11 00:46:17,385 [main] org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext (refresh) - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionRestController': Unsatisfied dependency expressed through field 'sessionManager'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionManager': Unsatisfied dependency expressed through field 'kcProvider'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kmsManager' defined in io.openvidu.server.OpenViduServer: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.openvidu.server.kurento.KurentoClientProvider]: Factory method 'kmsManager' threw exception; nested exception is org.kurento.commons.exception.KurentoException: Exception connecting to KMS
[INFO] 2018-07-11 00:46:17,387 [main] org.apache.catalina.core.StandardService (log) - Stopping service Tomcat
[INFO] 2018-07-11 00:46:17,447 [main] org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer (logAutoConfigurationReport) -

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
[ERROR] 2018-07-11 00:46:17,464 [main] org.springframework.boot.SpringApplication (reportFailure) - Application startup failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionRestController': Unsatisfied dependency expressed through field 'sessionManager'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionManager': Unsatisfied dependency expressed through field 'kcProvider'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kmsManager' defined in io.openvidu.server.OpenViduServer: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.openvidu.server.kurento.KurentoClientProvider]: Factory method 'kmsManager' threw exception; nested exception is org.kurento.commons.exception.KurentoException: Exception connecting to KMS
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:592)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:370)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1219)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:754)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175)
    at io.openvidu.server.OpenViduServer.main(OpenViduServer.java:167)
    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.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
    at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:521)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sessionManager': Unsatisfied dependency expressed through field 'kcProvider'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kmsManager' defined in io.openvidu.server.OpenViduServer: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.openvidu.server.kurento.KurentoClientProvider]: Factory method 'kmsManager' threw exception; nested exception is org.kurento.commons.exception.KurentoException: Exception connecting to KMS
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:592)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:370)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1219)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:589)
    ... 27 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kmsManager' defined in io.openvidu.server.OpenViduServer: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.openvidu.server.kurento.KurentoClientProvider]: Factory method 'kmsManager' threw exception; nested exception is org.kurento.commons.exception.KurentoException: Exception connecting to KMS
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:589)
    ... 40 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.openvidu.server.kurento.KurentoClientProvider]: Factory method 'kmsManager' threw exception; nested exception is org.kurento.commons.exception.KurentoException: Exception connecting to KMS
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
    ... 52 common frames omitted
Caused by: org.kurento.commons.exception.KurentoException: Exception connecting to KMS
    at org.kurento.client.KurentoClient.<init>(KurentoClient.java:253)
    at org.kurento.client.KurentoClient.create(KurentoClient.java:123)
    at org.kurento.client.KurentoClient.create(KurentoClient.java:116)
    at io.openvidu.server.kurento.kms.FixedOneKmsManager.<init>(FixedOneKmsManager.java:33)
    at io.openvidu.server.kurento.kms.FixedOneKmsManager.<init>(FixedOneKmsManager.java:28)
    at io.openvidu.server.OpenViduServer.kmsManager(OpenViduServer.java:104)
    at io.openvidu.server.OpenViduServer$$EnhancerBySpringCGLIB$$2f1569c9.CGLIB$kmsManager$0(<generated>)
    at io.openvidu.server.OpenViduServer$$EnhancerBySpringCGLIB$$2f1569c9$$FastClassBySpringCGLIB$$a7250fe6.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356)
    at io.openvidu.server.OpenViduServer$$EnhancerBySpringCGLIB$$2f1569c9.kmsManager(<generated>)
    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.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
    ... 53 common frames omitted
Caused by: org.kurento.jsonrpc.JsonRpcException: [KurentoClient]  Exception connecting to WebSocket server ws://localhost:8888/kurento
    at org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket.internalConnectIfNecessary(AbstractJsonRpcClientWebSocket.java:734)
    at org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket.connectIfNecessary(AbstractJsonRpcClientWebSocket.java:846)
    at org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket.connect(AbstractJsonRpcClientWebSocket.java:677)
    at org.kurento.client.KurentoClient.<init>(KurentoClient.java:245)
    ... 68 common frames omitted
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:8888
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:347)
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:627)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:551)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:465)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:437)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:877)
    at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
    at java.lang.Thread.run(Thread.java:748)

Pablo

unread,
Jul 11, 2018, 3:57:56 AM7/11/18
to OpenVidu
That is an exception thrown by OpenVidu Server whenever it is not able to connect to KMS.

What do you get with command "sudo service kurento-media-server status"?

hayth...@gmail.com

unread,
Jul 11, 2018, 12:33:01 PM7/11/18
to OpenVidu
Thanks Pablo for answering, 

I am getting this status:
kurento-media-server.service - LSB: Kurento Media Server daemon
   Loaded: loaded (/etc/init.d/kurento-media-server; bad; vendor preset: enabled
   Active: inactive (dead)
     Docs: man:systemd-sysv-generator(8)

How I fix that? and why I am getting this only when I use my cert which I have signed by my private key? 

Appreciate your help.

Pablo

unread,
Jul 11, 2018, 12:36:40 PM7/11/18
to OpenVidu
The error you stated above has nothing to do with any certificate. The cause is that your KMS is not running.

Run "sudo service kurento-media-server start" and with "sudo service kurento-media-server status" make sure it is up and running before launching OpenVidu server JAR.

hayth...@gmail.com

unread,
Jul 12, 2018, 3:47:21 AM7/12/18
to OpenVidu
Thank you, Here is why I said it has issue with the cert
for some reason, I get his issue with the jks. despite I have regenerated everything multiple time. always I get wrong jks password...........
BTW, this is a deployment on ubuntu on Vbox if that makes any difference. sorry I am new to this.


[INFO] 2018-07-12 00:41:13,012 [main] org.springframework.jmx.export.annotation.AnnotationMBeanExporter (afterSingletonsInstantiated) - Registering beans for JMX exposure on startup
[INFO] 2018-07-12 00:41:13,037 [main] org.springframework.context.support.DefaultLifecycleProcessor (start) - Starting beans in phase 2147483647
[INFO] 2018-07-12 00:41:13,095 [main] org.apache.coyote.http11.Http11NioProtocol (log) - Initializing ProtocolHandler ["https-jsse-nio-0.0.0.0-4443"]
[INFO] 2018-07-12 00:41:13,130 [main] org.apache.coyote.http11.Http11NioProtocol (log) - Starting ProtocolHandler [https-jsse-nio-0.0.0.0-4443]
[ERROR] 2018-07-12 00:41:13,594 [main] org.apache.coyote.http11.Http11NioProtocol (log) - Failed to start end point associated with ProtocolHandler [https-jsse-nio-0.0.0.0-4443]
java.lang.IllegalArgumentException: java.io.IOException: Keystore was tampered with, or password was incorrect
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:103)
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:81)
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:244)
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:874)
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:590)
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:969)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:233)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:178)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)

    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175)
    at io.openvidu.server.OpenViduServer.main(OpenViduServer.java:169)

    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.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
    at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:521)
Caused by: 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:224)
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
    at java.security.KeyStore.load(KeyStore.java:1445)
    at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:136)
    at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:187)
    at org.apache.tomcat.util.net.jsse.JSSEUtil.getKeyManagers(JSSEUtil.java:185)
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:101)

    ... 27 common frames omitted
Caused by: java.security.UnrecoverableKeyException: Password verification failed
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:778)
    ... 35 common frames omitted
[ERROR] 2018-07-12 00:41:13,599 [main] org.apache.catalina.core.StandardService (log) - Failed to start connector [Connector[HTTP/1.1-4443]]
org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-4443]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:233)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:178)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)

    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175)
    at io.openvidu.server.OpenViduServer.main(OpenViduServer.java:169)

    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.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
    at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:521)
Caused by: org.apache.catalina.LifecycleException: service.getName(): "Tomcat";  Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:976)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 21 common frames omitted
Caused by: java.lang.IllegalArgumentException: java.io.IOException: Keystore was tampered with, or password was incorrect
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:103)
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:81)
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:244)
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:874)
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:590)
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:969)
    ... 22 common frames omitted
Caused by: 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:224)
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
    at java.security.KeyStore.load(KeyStore.java:1445)
    at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:136)
    at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:187)
    at org.apache.tomcat.util.net.jsse.JSSEUtil.getKeyManagers(JSSEUtil.java:185)
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:101)

    ... 27 common frames omitted
Caused by: java.security.UnrecoverableKeyException: Password verification failed
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:778)
    ... 35 common frames omitted
[INFO] 2018-07-12 00:41:13,645 [main] org.apache.coyote.http11.Http11NioProtocol (log) - Pausing ProtocolHandler ["https-jsse-nio-0.0.0.0-4443"]
[INFO] 2018-07-12 00:41:13,649 [main] org.apache.catalina.core.StandardService (log) - Stopping service Tomcat
[INFO] 2018-07-12 00:41:13,693 [main] org.apache.catalina.util.LifecycleBase (log) - The stop() method was called on component [StandardServer[-1]] after stop() had already been called. The second call will be ignored.
[INFO] 2018-07-12 00:41:13,693 [main] org.apache.coyote.http11.Http11NioProtocol (log) - Stopping ProtocolHandler ["https-jsse-nio-0.0.0.0-4443"]
[INFO] 2018-07-12 00:41:13,694 [main] org.apache.coyote.http11.Http11NioProtocol (log) - Destroying ProtocolHandler ["https-jsse-nio-0.0.0.0-4443"]
[INFO] 2018-07-12 00:41:13,707 [main] org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer (logAutoConfigurationReport) -

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
[ERROR] 2018-07-12 00:41:13,713 [main] org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter (report) -

***************************
APPLICATION FAILED TO START
***************************

Description:

The Tomcat connector configured to listen on port 4443 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 4443, or configure this application to listen on another port.

[INFO] 2018-07-12 00:41:13,724 [main] org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext (doClose) - Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5d6f64b1: startup date [Thu Jul 12 00:41:04 PDT 2018]; root of context hierarchy
[INFO] 2018-07-12 00:41:13,726 [main] org.springframework.context.support.DefaultLifecycleProcessor (stop) - Stopping beans in phase 2147483647
[INFO] 2018-07-12 00:41:13,742 [main] org.springframework.jmx.export.annotation.AnnotationMBeanExporter (destroy) - Unregistering JMX-exposed beans on shutdown
[INFO] 2018-07-12 00:41:13,743 [main] org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler (shutdown) - Shutting down ExecutorService 'jsonrpcTaskScheduler'
[INFO] 2018-07-12 00:41:13,743 [main] org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler (shutdown) - Shutting down ExecutorService 'jsonrpcTaskScheduler'
[INFO] 2018-07-12 00:41:13,743 [main] org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler (shutdown) - Shutting down ExecutorService 'defaultSockJsTaskScheduler'
[INFO] 2018-07-12 00:41:13,744 [main] io.openvidu.server.core.SessionManager (close) - Closing all sessions

jdpun...@gmail.com

unread,
Aug 31, 2018, 5:01:55 AM8/31/18
to OpenVidu

I'm having the same issue using a jks file with the docker image. You can verify the password on your jks file with the following. keytool -list -keystore <keystorefile> -storepass <passwordtocheck>
If you found a solution for this can you pls post it.
Many thanks!

Micael Gallego

unread,
Aug 31, 2018, 10:28:31 AM8/31/18
to jdpun...@gmail.com, OpenVidu
You can find more information on how to create a keystore file with a valid (self-signed) certificate in the section "Configuring Tomcat To Use SSL" of: 

https://www.mulesoft.com/tcat/tomcat-ssl

Here you can see the content:

PART I - The Keystore

Step 1 - Creating the Keystore

The keys Tomcat will use for SSL transactions are stored in a password-protected file called, creatively, the "keystore." The first step to enabling SSL on your server is to create and edit this file. You can create this file in one of two ways - by importing an existing key into the keystore, or by creating an entirely new key.

In the interest of simplicity, this guide will only cover the latter (but you can find instructions for importing keys on Apache's Tomcat Documentation site).

A program called keytool, which is included with your JDK, will do the actual work of creating your new keystore. To create a new keystore using this program, enter the following command at the command-line, substituting syntax appropriate for your OS:

$JAVA_HOME/bin/keytool -genkey -alias [youralias] -keyalg RSA -keystore [/preferred/keystore/path]

Use an [alias] and [path] of your choice.

Next, keytool will ask you to enter the password you want to use for the keystore. Again, choose whatever you like (but don't forget it).

After you choose the keystore password, you will enter the information required for the Certificate, such as your company and your name. Make sure this information is accurate, as you will have to submit this file to the Certificate Authority of your choice to obtain a certificate.

The last thing keytool will ask you to specify is the key password, which is the password specific to this specific certificates. Rather than enter anything at this prompt, just press ENTER.

This will cause keytool to set the key password to a value equivalent to the keystore password. Matching passwords are REQUIRED for Tomcat to access the certificate. If you choose two different passwords, any attempts to access the keystore will result in a crash (so don't do it).

Congratulations - if you followed the directions correctly, you should now have a usable keystore file named [youralias], located in the directory you chose.





Best regards

Micael Gallego
Kurento / OpenVidu Project Lead


--
You received this message because you are subscribed to the Google Groups "OpenVidu" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openvidu+u...@googlegroups.com.
To post to this group, send email to open...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openvidu/064f8641-78be-42b2-bc61-f309d7b53a0f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages