
軽微な変更のみです。
接続情報の取得
接続ユーザーのIPアドレスなどの情報を取得するメソッドが HandshakeRequest に追加されました。
public interface HandshakeRequest { String getLocalAddress(); String getLocalHostName(); int getLocalPort(); String getRemoteAddress(); String getRemoteHostName(); int getRemotePort(); Locale getPreferredLocale(); }
証明書情報の取得
HandshakeRequest にクライアント証明書を取得するメソッドが追加されました。
安全なTLS接続を介してWS接続が確立された場合に、使用される証明書情報が取得できます。
public interface HandshakeRequest { X509Certificate[] getUserX509CertificateChain(); }
ハンドシェイクが失敗時の afterResponse(HandshakeResponse) 呼び出し
- Should jakarta.websocket.ClientEndPoint.Configurator.afterResponse(HandshakeResponse hr) be called even on failed upgrade?
- Also call ClientEndPoint.Configurator.afterResponse(HandshakeResponse) on failed handshakes
ハンドシェイクが成功した場合には、ClientEndPoint.Configurator.afterResponse(HandshakeResponse) が呼び出されますが、失敗した場合にも呼び出されることが明示されました。
これにより、なんらかの攻撃に際して、クライアントアプリケーションがこれらの応答ヘッダーにアクセスして、何をするべきかを判断することができるようになります。