public class TLSServerEndPointChannelBinding extends ChannelBinding
tls-server-end-point
channel binding
according to RFC 5929.
RFC 5929 specifies the tls-server-end-point
channel binding as hash value calculated from the encoded server certificate.
An application that is interested to capture the tls-server-end-point
channel binding
value has to announce its interest by adding
a ChannelBindings
containing the TLSServerEndPointChannelBinding
to the SSLContext object, e.g.:
ChannelBindings channelBindings = new ChannelBindings(); channelBindings.addChannelBinding(new TLSServerEndPointChannelBinding()); context.setChannelBindings(channelBindings);After having completed the handshake the
tls-server-end-point
channel binding value
can be obtained
from the SSLSocket:
ChannelBindings chBndgs = socket.getChannelBindings(); if (chBndgs != null) { TLSServerEndPointChannelBinding tlsServerEndPoint = (TLSServerEndPointChannelBinding)chBndgs.getChannelBinding(TLSServerEndPointChannelBinding.TYPE); if (tlsServerEndPoint != null) { System.out.println("tls-server-end-point: " + Util.toString(tlsServerEndPoint.getData())); } }
ChannelBinding
,
ChannelBindings
,
ChannelBindingType
Modifier and Type | Field and Description |
---|---|
static ChannelBindingType |
TYPE |
Constructor and Description |
---|
TLSServerEndPointChannelBinding()
Default constructor.
|
TLSServerEndPointChannelBinding(java.security.cert.X509Certificate serverCert,
byte[] data)
Creates a TLSServerEndPointChannelBinding object for the given
server certificate and hash of the encoded certificate.
|
Modifier and Type | Method and Description |
---|---|
java.security.cert.X509Certificate |
getServerCert()
Gets the server certificate.
|
clone, equals, getChannelBindingType, getData, getName, getType, hashCode, toString, toString
public static final ChannelBindingType TYPE
public TLSServerEndPointChannelBinding()
public TLSServerEndPointChannelBinding(java.security.cert.X509Certificate serverCert, byte[] data)
serverCert
- the server certificatedata
- the hash of the encoded certificate