public class TLSUniqueChannelBinding extends ChannelBinding
tls-unique channel binding
according to RFC 5929.
RFC 5929 specifies the tls-unique
channel binding as the first Finished message verify data in the
most recent handshake.
An application that is interested to capture the tls-unique channel binding
value has to announce its interest by adding a ChannelBindings containing the TLSUniqueChannelBinding to the SSLContext object, e.g.:
ChannelBindings channelBindings = new ChannelBindings(); channelBindings.addChannelBinding(new TLSServerEndPointChannelBinding()); context.setChannelBindings(channelBindings);After having completed the handshake the
tls-unique channel binding value
can be obtained from the SSLSocket:
ChannelBindings chBndgs = socket.getChannelBindings();
if (chBndgs != null) {
TLSUniqueChannelBinding tlsUnique = (TLSUniqueChannelBinding)chBndgs.getChannelBinding(TLSUniqueChannelBinding.TYPE);
if (tlsUnique != null) {
System.out.println("tls-unique: " + Util.toString(tlsUnique.getData()));
}
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 |
|---|
TLSUniqueChannelBinding()
Default constructor.
|
TLSUniqueChannelBinding(byte[] data)
Creates a TLSUniqueChannelBinding object with the given Finished verify data.
|
clone, equals, getChannelBindingType, getData, getName, getType, hashCode, toString, toStringpublic static final ChannelBindingType TYPE