Tim*_*fey 6 java ssl jetty keystore kotlin
我已经创建了密钥和证书,由根CA使用OpenSSL签名。我正在尝试使用server.key文件作为密钥库,并在代码中执行它:
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)
Run Code Online (Sandbox Code Playgroud)
}
但是我有一个例外:
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5815 次 |
| 最近记录: |