Hi All,
In order to test interoperability between OM2M v1.2.0 and ATIS OS-IoT (http://os-iot.org/) I want to configure the OM2M IN-CSE to run HTTPS. Unfortunately I have run in to some problems:
This is what I have done:
1) Create a “keystore” file for JETTY using the command “keytool -keystore keystore -alias jetty -genkey -keyalg RSA -sigalg SHA256withRSA”. Use the password “password”
2) Added the following configuration to OM2M config.ini:
org.eclipse.equinox.http.jetty.https.enabled=true
org.eclipse.equinox.http.jetty.https.port=443
org.eclipse.equinox.http.jetty.ssl.password=password
org.eclipse.equinox.http.jetty.ssl.keypassword=password
# Change the path on the next line to match the location of your keystore path
org.eclipse.equinox.http.jetty.ssl.keystore=/home/iain/keystore
org.eclipse.equinox.http.jetty.ssl.protocol=SSL_TLS
When I run OM2M I get an error at OM2M start-up. The text is rather long, so I have included it below my sig. Though I get the “CSE started” prompt from OM2M it won’t respond to any requests on either the HTTP or the HTTPS ports!
Does anyone know how to correct this problem?
Some web searches suggest it may be a problem due to using an incompatible JRE. Which JRE do you recommend for OM2M v1.2.0?
Thanks
Iain
---
This is the error text:
2018-01-31 12:11:50.167:WARN:oejuc.AbstractLifeCycle:FAILED SslContextFactory@6e4784bc(/home/iain/keystore,/home/iain/keystore): java.security.NoSuchAlgorithmException: SSL_TLS SSLContext not available
java.security.NoSuchAlgorithmException: SSL_TLS SSLContext not available
at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)
at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:295)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.ssl.SslSocketConnector.doStart(SslSocketConnector.java:362)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.Server.doStart(Server.java:293)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager.updated(HttpServerManager.java:112)
at org.eclipse.equinox.http.jetty.internal.Activator.start(Activator.java:62)
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
at org.eclipse.osgi.container.Module.doStart(Module.java:571)
at org.eclipse.osgi.container.Module.start(Module.java:439)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
at org.eclipse.osgi.container.SystemModule.startWorker(SystemModule.java:242)
at org.eclipse.osgi.container.Module.doStart(Module.java:571)
at org.eclipse.osgi.container.Module.start(Module.java:439)
at org.eclipse.osgi.container.SystemModule.start(SystemModule.java:172)
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:393)
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:412)
at org.eclipse.osgi.launch.Equinox.start(Equinox.java:115)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:318)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:231)
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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)