web-dev-qa-db-ja.com

javax.net.ssl.SSLException:利用可能なPSKがありません。再開できません

Jettyクライアントを使用して発信要求を送信しています。 Java 10の下で完全に実行されるコードは、突然Java 11の下で次の例外を受け取ります。

javax.net.ssl.SSLException: No PSK available. Unable to resume.
    at Java.base/Sun.security.ssl.Alert.createSSLException(Alert.Java:129)
    at Java.base/Sun.security.ssl.Alert.createSSLException(Alert.Java:117)
    at Java.base/Sun.security.ssl.TransportContext.fatal(TransportContext.Java:308)
    at Java.base/Sun.security.ssl.TransportContext.fatal(TransportContext.Java:264)
    at Java.base/Sun.security.ssl.TransportContext.fatal(TransportContext.Java:255)
    at Java.base/Sun.security.ssl.ServerHello$T13ServerHelloConsumer.consume(ServerHello.Java:1224)
    at Java.base/Sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(ServerHello.Java:984)
    at Java.base/Sun.security.ssl.ServerHello$ServerHelloConsumer.consume(ServerHello.Java:872)
    at Java.base/Sun.security.ssl.SSLHandshake.consume(SSLHandshake.Java:392)
    at Java.base/Sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.Java:444)
    at Java.base/Sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.Java:1065)
    at Java.base/Sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.Java:1052)
    at Java.base/Java.security.AccessController.doPrivileged(Native Method)
    at Java.base/Sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.Java:999)
    at org.Eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.fill(SslConnection.Java:511)
    at org.Eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.Java:128)
    at org.Eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.Java:73)
    at org.Eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.Java:133)
    at org.Eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.Java:155)
    at org.Eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.Java:305)
    at org.Eclipse.jetty.io.FillInterest.fillable(FillInterest.Java:103)
    at org.Eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.Java:411)
    at org.Eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.Java:305)
    at org.Eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.Java:159)
    at org.Eclipse.jetty.io.FillInterest.fillable(FillInterest.Java:103)
    at org.Eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.Java:118)

Jetty here でバグレポートを提出しましたが、エラーメッセージの実際の意味は何ですか?何か問題がありますか?私の環境では、エラーはJettyが接続を正しく構成していないことを意味しますか?

13
Gili

jDK 11にバグがあります: https://bugs.openjdk.Java.net/browse/JDK-8213202

次のいずれかを行う必要があります。

  • jDK 12のリリースを待つ
  • またはJDK 11へのバックポート
  • または、回避策として次のコマンドラインパラメータを使用します:-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
12