Top Description Inners Fields Constructors Methods
io.undertow.server

public Class ConnectionSSLSessionInfo

extends Object
implements SSLSessionInfo
Class Inheritance
All Implemented Interfaces
io.undertow.server.SSLSessionInfo
Imports
java.io.IOException, java.nio.ByteBuffer, java.security.cert.Certificate, java.util.concurrent.TimeUnit, javax.net.ssl.SSLPeerUnverifiedException, .SSLSession, javax.security.cert.X509Certificate, org.xnio.ChannelListener, .IoUtils, .Options, .SslClientAuthMode, org.xnio.channels.Channels, .SslChannel, .StreamSourceChannel, io.undertow.UndertowMessages, .UndertowOptions, io.undertow.connector.PooledByteBuffer, io.undertow.server.protocol.http.HttpServerConnection

SSL session information that is read directly from the SSL session of the XNIO connection
Author
Stuart Douglas

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private final SslChannel
private static final long
private static final SSLPeerUnverifiedException
private static final RenegotiationRequiredException
private RenegotiationRequiredException
private final HttpServerConnection
private SSLPeerUnverifiedException

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public String
public X509Certificate[]
getPeerCertificateChain()

Implements io.undertow.server.SSLSessionInfo.getPeerCertificateChain.

Deprecated since 2.2.3.

This method is no longer supported on java 15 and should be avoided.

public Certificate[]
public byte[]
public SSLSession
public void
renegotiate(HttpServerExchange
The exchange
exchange
,
SslClientAuthMode
The client cert mode to use when renegotiating
sslClientAuthMode
)

Implements io.undertow.server.SSLSessionInfo.renegotiate.

Renegotiate in a blocking manner.

public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

channelback to summary
private final SslChannel channel
MAX_RENEGOTIATION_WAITback to summary
private static final long MAX_RENEGOTIATION_WAIT
PEER_UNVERIFIED_EXCEPTIONback to summary
private static final SSLPeerUnverifiedException PEER_UNVERIFIED_EXCEPTION
RENEGOTIATION_REQUIRED_EXCEPTIONback to summary
private static final RenegotiationRequiredException RENEGOTIATION_REQUIRED_EXCEPTION
renegotiationRequiredExceptionback to summary
private RenegotiationRequiredException renegotiationRequiredException
serverConnectionback to summary
private final HttpServerConnection serverConnection
unverifiedback to summary
private SSLPeerUnverifiedException unverified

Constructor Detail

ConnectionSSLSessionInfoback to summary
public ConnectionSSLSessionInfo(SslChannel channel, HttpServerConnection serverConnection)

Method Detail

getCipherSuiteback to summary
public String getCipherSuite()

Implements io.undertow.server.SSLSessionInfo.getCipherSuite.

Annotations
@Override
getPeerCertificateChainback to summary
public X509Certificate[] getPeerCertificateChain() throws SSLPeerUnverifiedException, RenegotiationRequiredException

Implements io.undertow.server.SSLSessionInfo.getPeerCertificateChain.

Doc from io.undertow.server.SSLSessionInfo.getPeerCertificateChain.

Deprecated

since 2.2.3.

This method is no longer supported on java 15 and should be avoided.

Annotations
@Override
@Deprecated
since:2.2.3
forRemoval:false
getPeerCertificatesback to summary
public Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException, RenegotiationRequiredException

Implements io.undertow.server.SSLSessionInfo.getPeerCertificates.

Doc from io.undertow.server.SSLSessionInfo.getPeerCertificates.

Gets the peer certificates. This may force SSL renegotiation.

Returns:Certificate[]

The peer certificates

Annotations
@Override
Exceptions
RenegotiationRequiredException:
If the session
getSessionIdback to summary
public byte[] getSessionId()

Implements io.undertow.server.SSLSessionInfo.getSessionId.

Returns:byte[]

Doc from io.undertow.server.SSLSessionInfo.getSessionId.

The SSL session ID, or null if this could not be determined.

Annotations
@Override
getSSLSessionback to summary
public SSLSession getSSLSession()

Implements io.undertow.server.SSLSessionInfo.getSSLSession.

Returns:SSLSession

Doc from io.undertow.server.SSLSessionInfo.getSSLSession.

The SSL session, or null if it is not applicable

Annotations
@Override
renegotiateback to summary
public void renegotiate(HttpServerExchange exchange, SslClientAuthMode sslClientAuthMode) throws IOException

Implements io.undertow.server.SSLSessionInfo.renegotiate.

Doc from io.undertow.server.SSLSessionInfo.renegotiate.

Renegotiate in a blocking manner. This will set the client aut

Todo

we also need a non-blocking version

Parameters
exchange:HttpServerExchange

The exchange

sslClientAuthMode:SslClientAuthMode

The client cert mode to use when renegotiating

Annotations
@Override
renegotiateBufferRequestback to summary
public void renegotiateBufferRequest(HttpServerExchange exchange, SslClientAuthMode newAuthMode) throws IOException
Annotations
@SuppressWarnings:resource
renegotiateNoRequestback to summary
public void renegotiateNoRequest(HttpServerExchange exchange, SslClientAuthMode newAuthMode) throws IOException
io.undertow.server back to summary

private Class ConnectionSSLSessionInfo.SslHandshakeWaiter

extends Object
implements ChannelListener<SslChannel>
Class Inheritance
  • java.lang.Object
  • io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter
All Implemented Interfaces
org.xnio.ChannelListener, java.util.EventListener

Field Summary

Modifier and TypeField and Description
private volatile boolean

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
handleEvent(SslChannel
the channel event
channel
)

Implements org.xnio.ChannelListener.handleEvent.

Handle the event on this channel.

pack-priv boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

doneback to summary
private volatile boolean done

Constructor Detail

SslHandshakeWaiterback to summary
private SslHandshakeWaiter()

Method Detail

handleEventback to summary
public void handleEvent(SslChannel channel)

Implements org.xnio.ChannelListener.handleEvent.

Doc from org.xnio.ChannelListener.handleEvent.

Handle the event on this channel.

Parameters
channel:SslChannel

the channel event

Annotations
@Override
isDoneback to summary
pack-priv boolean isDone()