Configurando Jetty con SSL / TLS y Keystore
He creado la key y el certificate, firmado por la CA raíz usando OpenSSL. Estoy intentando usar el file server.key como keystore y realizarlo en código:
private fun setupHttps(server : Server, port: Int) { val https = HttpConfiguration() https.addCustomizer(SecureRequestCustomizer()) val sslFactory = SslContextFactory() sslFactory.keyStorePath = Paths.get(System.getProperty("user.dir"), "..", "server.key").toString() sslFactory.setKeyStorePassword("password") val sslConnector = ServerConnector( server, SslConnectionFactory(sslFactory, "http/1.1"), HttpConnectionFactory(https) ) sslConnector.port = port server.connectors = arrayOf(sslConnector)
}
- java https: // localhost (SSL) - posible sin instalar certs en el cliente?
- biblioteca kotlin que puede hacer connection httpS sin verificación de certificate (como curl --insecure)
Pero tuve esta exception:
Exception in thread "main" java.lang.IllegalStateException: no valid keystore at org.eclipse.jetty.util.security.CertificateUtils.getKeyStore(CertificateUtils.java:48) at org.eclipse.jetty.util.ssl.SslContextFactory.loadKeyStore(SslContextFactory.java:998) at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:252) at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:219) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113) at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:72) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113) at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:270) at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81) at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.server.Server.doStart(Server.java:431) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at ru.servicesmarket.server.LaunchKt.main(launch.kt:44)